From 23c1e1811ff9e464560f1ffcc0d2a4c4bc38b754 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Apr 2024 00:56:49 +0000 Subject: [PATCH] Rebuild pages at 073bd462c2ed118d7313b70edbd5bc5b548a2576 --- AY2324S2-CS2103T-F14-2_tp_master/commits.json | 2 +- archive.zip | Bin 21617737 -> 21617739 bytes js/index.js | 99 +- reposense-logs/reposense.log.0 | 2456 ++++++++--------- summary.json | 2 +- 5 files changed, 1323 insertions(+), 1236 deletions(-) diff --git a/AY2324S2-CS2103T-F14-2_tp_master/commits.json b/AY2324S2-CS2103T-F14-2_tp_master/commits.json index da25d35..0abfe3a 100644 --- a/AY2324S2-CS2103T-F14-2_tp_master/commits.json +++ b/AY2324S2-CS2103T-F14-2_tp_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"drustanyjt":[{"date":"2024-03-03","commitResults":[{"hash":"e054773e7feb575fd00e7ac063510ae83d2c94d1","isMergeCommit":false,"messageTitle":"Update sitewide settings with product name and new logo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":0}}},{"hash":"6b2d0514ccfe445f72ff94a09eff0e80b023a14c","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into docs-sitewide-settings","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"3da4848193c31724810f138e9ca4ecc699b5622c","isMergeCommit":true,"messageTitle":"Merge pull request #20 from drustanyjt/docs-sitewide-settings","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-03-04","commitResults":[{"hash":"863ee95c9fdb7c1212b802c562b4d0c47b9c75d0","isMergeCommit":false,"messageTitle":"Add medical terms in meeting notes to glossary","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":2}}},{"hash":"8490e739aea7f07a72a320c62382da7316e982d5","isMergeCommit":false,"messageTitle":"Fix whitespace errors","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}}]},{"date":"2024-03-05","commitResults":[{"hash":"3936397f7fb177dbeb1099057ef0dd76c36f00de","isMergeCommit":false,"messageTitle":"Update DeveloperGuide.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}}]},{"date":"2024-03-06","commitResults":[{"hash":"467d54beba603f8ee15c03f015b90ec4eadc35fa","isMergeCommit":false,"messageTitle":"Update DeveloperGuide.md","messageBody":"Added value proposition and user profile.","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":3}}}]},{"date":"2024-03-15","commitResults":[{"hash":"9b3c1bc527279a3dbc61d1fbc343e5f74c11dd4a","isMergeCommit":false,"messageTitle":"Update models to support new Person fields","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":306,"deletions":11}}}]},{"date":"2024-03-16","commitResults":[{"hash":"d6df9b2962221f3fc13fce1a89e015fe9b593b6f","isMergeCommit":false,"messageTitle":"Fix support for using the new Person constructor","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":134,"deletions":39},"test-code":{"insertions":164,"deletions":42}}},{"hash":"90a1a5e75fde24f143b3b5378ff6a59ec1d4df26","isMergeCommit":false,"messageTitle":"Fix line formatting issues","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":283,"deletions":283}}},{"hash":"9348f3b6d45023bb0d5cf0204d918548c6d78c75","isMergeCommit":false,"messageTitle":"Fix line too long for checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"6ff0db7e1787cf29bb66f08f7113ec6e9d112e87","isMergeCommit":false,"messageTitle":"Add test coverage for new Person fields","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"test-code":{"insertions":548,"deletions":228}}},{"hash":"5b7b1918e150a30060cc1fe87d8c58b9dc9bb2b5","isMergeCommit":false,"messageTitle":"Replace CRLF with LF","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":325,"deletions":325}}},{"hash":"fe3baa9236e2f4c21a40ff41e1f311acab6e8b14","isMergeCommit":false,"messageTitle":"Fix message not showing some fields from a Person","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":15,"deletions":5}}}]},{"date":"2024-03-18","commitResults":[{"hash":"216b72757c6dbcaa6cfc41e8d1bb475a09e7a1ec","isMergeCommit":false,"messageTitle":"Update icon in UI","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3},"test-code":{"insertions":1,"deletions":1}}},{"hash":"bc2abd9ebf106d1d87120297ec67a2c3e8293ba7","isMergeCommit":false,"messageTitle":"Re-rename test file","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"72967a3b3fb6f77f78149a53deed55cb81f147da","isMergeCommit":false,"messageTitle":"Change some references of addresbook to clinicmate","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"other":{"insertions":72,"deletions":72},"docs":{"insertions":2,"deletions":2},"test-code":{"insertions":1,"deletions":1}}},{"hash":"e5e24fef6a2c63a6653d9ead7718f20300c32860","isMergeCommit":false,"messageTitle":"Add release workflows and update depreceated actions","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":178,"deletions":45}}},{"hash":"3535c1d1efb981a6b7206f4fb6118b7aba668bc7","isMergeCommit":false,"messageTitle":"Change CRLF to LF","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":119,"deletions":119}}}]},{"date":"2024-03-19","commitResults":[{"hash":"a3fd086dc37a1c7fbcfc25baa770d83a9b894458","isMergeCommit":true,"messageTitle":"Merge pull request #63 from drustanyjt/fix-phonetest","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-03-20","commitResults":[{"hash":"26394e6a65ca6108a4efd408c5c6275b828eb252","isMergeCommit":true,"messageTitle":"Merge pull request #66 from Jayne1010/UpdateUGv1.2b","messageBody":"Update user guide for features v1.2b","fileTypesAndContributionMap":{}},{"hash":"29f201eb54951eeb0b7433e806d5398802bdffb7","isMergeCommit":false,"messageTitle":"Add new attribute classes and remove references to Tag","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":19,"deletions":8}}},{"hash":"5bb0e9d0ccbd06c8dc55515d6a63f660f22b50d0","isMergeCommit":false,"messageTitle":"Revert \"Update Edit Command to edit with Person\u0027s IC\"","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":32,"deletions":88},"docs":{"insertions":1,"deletions":0}}},{"hash":"10df923a08f07ec97ba9a32fb1a7515d1a3f5de5","isMergeCommit":true,"messageTitle":"Merge pull request #80 from AY2324S2-CS2103T-F14-2/revert-65-UpdateEditCommandv1.2b","messageBody":"Revert \"Update Edit Command to edit with Person\u0027s IC\"","fileTypesAndContributionMap":{}},{"hash":"6a60a3534f224dc2f6658dcb68d2e276c29bb2a1","isMergeCommit":false,"messageTitle":"Update workflows","messageBody":"Removed `body_path`","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"1dc703033a144716317b1638ac0a083f7802a0c0","isMergeCommit":false,"messageTitle":"Update build-and-prerelease.yml","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"1683a2f75df8157a3b1cec915e040374572fcf1c","isMergeCommit":true,"messageTitle":"Merge pull request #81 from drustanyjt/drustanyjt-patch-1","messageBody":"Fix typo in workflow files","fileTypesAndContributionMap":{}},{"hash":"fb9c3c5381e9ecc061196a2a83664127ac040ae8","isMergeCommit":false,"messageTitle":"Update build-and-prerelease.yml","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":2,"deletions":3}}},{"hash":"e38345b1184de88826da2b88bb491a96341fedee","isMergeCommit":true,"messageTitle":"Merge pull request #85 from AY2324S2-CS2103T-F14-2/drustanyjt-patch-1","messageBody":"Fix typo in pre-release names","fileTypesAndContributionMap":{}},{"hash":"e53d42cb9636c21071a91e61bdb0934b663ee733","isMergeCommit":false,"messageTitle":"Add google form link and update release link","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":1}}},{"hash":"4de861628d8e885464367a820e2f607580dae3a9","isMergeCommit":true,"messageTitle":"Merge pull request #88 from drustanyjt/drus-gform","messageBody":"Add google form link and update release link","fileTypesAndContributionMap":{}}]},{"date":"2024-03-21","commitResults":[{"hash":"d579361ce799668289ca6390a2e5f621d264ff59","isMergeCommit":true,"messageTitle":"Merge pull request #89 from tengcharmaine/sex_field_bug","messageBody":"","tags":["v1.2b"],"fileTypesAndContributionMap":{}}]},{"date":"2024-03-22","commitResults":[{"hash":"33ccf1040274465a973c6809afb5e589bbe2b6bd","isMergeCommit":false,"messageTitle":"Change sample data to have no tags","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":27,"deletions":22},"test-code":{"insertions":29,"deletions":0}}}]},{"date":"2024-03-24","commitResults":[{"hash":"231c85c1eb767e64578d59230577cff955267a17","isMergeCommit":false,"messageTitle":"Update build-and-prerelease.yml","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":3,"deletions":1}}}]},{"date":"2024-03-26","commitResults":[{"hash":"9e3ec3d0daac6e6c96b6f2004a5fd7ba2fa3907b","isMergeCommit":false,"messageTitle":"Add notes panel to view patient notes","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":147,"deletions":2},"test-code":{"insertions":63,"deletions":3}}},{"hash":"ae41ab846f2d8cfecd0621037ce8e90fdc138593","isMergeCommit":false,"messageTitle":"Fix format issues","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":3,"deletions":2}}},{"hash":"fdccfa082017fbcdb4d0ff3538251ed889ca74ee","isMergeCommit":true,"messageTitle":"Merge pull request #121 from drustanyjt/drus-find-previews-note","messageBody":"Adds a panel for displaying notes","fileTypesAndContributionMap":{}}]},{"date":"2024-03-28","commitResults":[{"hash":"985092cc596c919b00ad0e8da4f953d36f981505","isMergeCommit":false,"messageTitle":"Change pre release to be done nightly","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":13,"deletions":9}}},{"hash":"7865dd98d2cd3c31b47a18dad8e99fade712b8a5","isMergeCommit":true,"messageTitle":"Merge pull request #135 from tengcharmaine/build_gradle","messageBody":"Update build.gradle file to enable assertions","fileTypesAndContributionMap":{}},{"hash":"68a8cd23e3f708da4b4f587c963c3470f243ea3d","isMergeCommit":true,"messageTitle":"Merge pull request #136 from drustanyjt/drus-nightly-releases","messageBody":"Change pre release to be done nightly","tags":["v1.3","nightly-2024-04-03-68a8cd2","nightly-2024-04-02-68a8cd2","nightly-2024-04-01-68a8cd2","nightly-2024-03-31-68a8cd2","nightly-2024-03-30-68a8cd2","nightly-2024-03-29-68a8cd2","nightly-2024-03-28-68a8cd2"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-03","commitResults":[{"hash":"483defe7f34ece38b64ab567f73a3b47ca5f4392","isMergeCommit":false,"messageTitle":"Move tracking of display person to model","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":37,"deletions":32},"test-code":{"insertions":1,"deletions":14}}},{"hash":"79eb85d8b9e0279dae79163be6b277233685cf7a","isMergeCommit":false,"messageTitle":"Add Show command to update/clear display note panel","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":138,"deletions":1}}},{"hash":"f8d616a74479904e3798ebbb5e4e5bbae260b893","isMergeCommit":false,"messageTitle":"Add Show command test cases","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":19,"deletions":0},"test-code":{"insertions":147,"deletions":0}}},{"hash":"c0fd8c614ff474be5d65e195c5960d7691136a48","isMergeCommit":false,"messageTitle":"Update ShowCommand usage message","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3}}},{"hash":"839e802e7cb48b7facff819f49239727a94c24a2","isMergeCommit":true,"messageTitle":"Merge pull request #137 from jiahui0309/fix-find-command-bugs","messageBody":"Fix UI bugs for FindCommand","tags":["nightly-2024-04-03-839e802"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-04","commitResults":[{"hash":"81247dba469004c3721d389ac2e6cba9ec9ab039","isMergeCommit":false,"messageTitle":"Remove tags from serialized Person","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":14,"deletions":32},"test-code":{"insertions":16,"deletions":43}}},{"hash":"51067bc83e35af040ad4b72fa35f94e8f44697ed","isMergeCommit":false,"messageTitle":"Fix checkstyle issue","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"102672f47ec448ab9542e78ed8d0c9e3ad37414e","isMergeCommit":false,"messageTitle":"Add Show command to UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":29,"deletions":0}}},{"hash":"ed5fde422a97746bef03cf70ee30cc7f07f7584e","isMergeCommit":false,"messageTitle":"Remove upstream trail","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":2}}},{"hash":"161cc344c4cf2c36c38d1a79b46812bc9a09c8f7","isMergeCommit":false,"messageTitle":"Remove trailing stash","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"ae1a2b50b55a1294d09a9b907d1c3651ff78c5b7","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into drus-remove-ab-files","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b18f11a4814606e3d776e258b9a0bff9816db6db","isMergeCommit":true,"messageTitle":"Merge pull request #152 from drustanyjt/drus-remove-ab-files","messageBody":"Prevent malicious manual updating of save file","fileTypesAndContributionMap":{}},{"hash":"6b8fe06e578a7be0b0634c470c527212aaae5bfc","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into drus-ug-show","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"4ab3b6401837a345da443109f77de310dc41c714","isMergeCommit":true,"messageTitle":"Merge pull request #155 from drustanyjt/drus-ug-show","messageBody":"Add Show command to UG","tags":["nightly-2024-04-04-4ab3b64"],"fileTypesAndContributionMap":{}},{"hash":"e899a4bd749d0e8c51e8f2b33f3e1e040563e5f8","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into ErrorSpecificity","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"545e8ac56510b56e7bf8d4fd852a10462564fe10","isMergeCommit":false,"messageTitle":"Add corresponding unit tests","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":8,"deletions":7}}},{"hash":"9978a665c14affc51db96fbdd74a4b0ba329abc0","isMergeCommit":false,"messageTitle":"Make typographical fixes","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":2}}},{"hash":"778025185d9dedda4d8c404d6b600db5c57089df","isMergeCommit":true,"messageTitle":"Merge pull request #157 from drustanyjt/drus-ug-bugs","messageBody":"Make typographical fixes","fileTypesAndContributionMap":{}},{"hash":"f44b9d5883dc5dc1b2b0f329b20a57cc9b0d4f31","isMergeCommit":false,"messageTitle":"Add edit to UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":2}}},{"hash":"99f0620124bdafb200227083b27485cb0480e77a","isMergeCommit":true,"messageTitle":"Merge branch \u0027AY2324S2-CS2103T-F14-2:master\u0027 into drus-ug-bugs","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a834977ddebdf93898700b4ef755632ea5583802","isMergeCommit":true,"messageTitle":"Merge pull request #158 from drustanyjt/drus-ug-bugs","messageBody":"Add Edit to UG","tags":["v1.3b","nightly-2024-04-11-a834977","nightly-2024-04-10-a834977","nightly-2024-04-09-a834977","nightly-2024-04-08-a834977","nightly-2024-04-07-a834977","nightly-2024-04-06-a834977","nightly-2024-04-05-a834977"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-05","commitResults":[{"hash":"a27c139bb2c5d65e396054228aade8458d223e95","isMergeCommit":false,"messageTitle":"Add optional braces for edit command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-12","commitResults":[{"hash":"6a8c4b7567693dc3d125c15a605151e4395cd65a","isMergeCommit":false,"messageTitle":"Fix typo in addnote error log","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}},{"hash":"4745bef190cc868a828ffa4a0e79b8a78dcca729","isMergeCommit":false,"messageTitle":"Fix minor UG bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":32,"deletions":13}}},{"hash":"c556e1ec113daba8a7bf33c6e5aed7ab848e43b1","isMergeCommit":false,"messageTitle":"Add UG fixes","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":10}}},{"hash":"9314214fc99326de994d729356e6b4e841c7187b","isMergeCommit":false,"messageTitle":"Add more UG fixes","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":4}}},{"hash":"fff7af74396dbc6be453e39d794fbb10c340a039","isMergeCommit":false,"messageTitle":"Fix typo in UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-13","commitResults":[{"hash":"51ede9fccdd6ede5e3f7703738f523bbf5f0dca8","isMergeCommit":false,"messageTitle":"Change log messages that use AddressBook to ClinicMate","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":5}}},{"hash":"08ba85a3749866f696bf4ef0f9c93b231791ea31","isMergeCommit":false,"messageTitle":"Change uses of address book in user messages","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":8}}},{"hash":"63137072ec2282a569a3e2a4f42502dd2ea57c45","isMergeCommit":false,"messageTitle":"Fix grammar in some logs","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":2}}},{"hash":"41430665f13ed70ee6f01accac1de6a86aec55c1","isMergeCommit":false,"messageTitle":"Fix addnote hyperlink","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"f4318585800929a8ab04a0220b46e135d906b082","isMergeCommit":false,"messageTitle":"Fix wrong badges on home page","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":4}}},{"hash":"3e6506ed25e9c465bc974d56f70f44db8e3b8843","isMergeCommit":true,"messageTitle":"Merge pull request #251 from drustanyjt/drus-fix-addnote-link","messageBody":"Fix addnote hyperlink","fileTypesAndContributionMap":{}},{"hash":"5b2911701fb4ef186dcd6f84b0b44faaf0312e23","isMergeCommit":false,"messageTitle":"Add skeletal experience section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":0}}},{"hash":"aee94b65c12541a47c2c9e04df296a518a4bf51a","isMergeCommit":false,"messageTitle":"Add quick links to return to top","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":186,"deletions":170},"docs":{"insertions":50,"deletions":0}}},{"hash":"00aa9556cc131a5d2e22ed2ecf76916a94cab84a","isMergeCommit":false,"messageTitle":"Hide table of contents in navigation panel","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":8,"deletions":0}}},{"hash":"eeee9ee6fa541fc33e646edf433bb91fca8e6cc1","isMergeCommit":false,"messageTitle":"Fix CRLF error","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":194,"deletions":194}}},{"hash":"1b53fdf87e1328ebb087ac0a04139e50342e3568","isMergeCommit":false,"messageTitle":"Fix small typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"763a4ab0ef44b181db37486b00ed8de96795ca6c","isMergeCommit":true,"messageTitle":"Merge pull request #252 from drustanyjt/drus-update-homepage","messageBody":"Update Home Page","fileTypesAndContributionMap":{}},{"hash":"fd52c485ef87506e2e175b87d7b7d36fbedd9212","isMergeCommit":true,"messageTitle":"Merge pull request #250 from drustanyjt/drus-experience-section","messageBody":"Familiarity sections and some quick links","fileTypesAndContributionMap":{}},{"hash":"b08a36b7c04a082de9b6727b0cd2379465254ce5","isMergeCommit":true,"messageTitle":"Merge pull request #249 from drustanyjt/drus-update-msgs","messageBody":"Change uses of address book in user messages","tags":["nightly-2024-04-13-b08a36b"],"fileTypesAndContributionMap":{}},{"hash":"735e8be93a6578af3ceb9cbdca312f0c1928bad7","isMergeCommit":false,"messageTitle":"Add Quick Tour","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":87,"deletions":0}}},{"hash":"f0c2d1b645ef99734847e814f0fc763b8d2c35a3","isMergeCommit":false,"messageTitle":"Update url for quick tour","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"072a930022290ef5990a4338d8c4c4f13831f055","isMergeCommit":false,"messageTitle":"Note down use of space as note","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":3}}},{"hash":"e31cd7ba66035f0c1de3dbfc65cb54fcbd7339fc","isMergeCommit":false,"messageTitle":"Fix grammatical issues","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":4}}},{"hash":"17db366b0e516b2a18838b3751ea84ef7d804a8c","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"37974acf4324c1475ad111bb3c5a14a6cdc31a47","isMergeCommit":false,"messageTitle":"Simplify expression","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"0caf22bd6238c8e09f954dba41b3af95f5a8c7b0","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-14","commitResults":[{"hash":"39f21046740cb47a35402abf7706cca8b065103c","isMergeCommit":false,"messageTitle":"Remove all uses of the Tag class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":24,"deletions":257},"test-code":{"insertions":18,"deletions":180}}},{"hash":"d1724b8772a0b65644ad2c0a1b60c2555ad8e991","isMergeCommit":false,"messageTitle":"Remove remnants of Tag parsing","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1},"test-code":{"insertions":9,"deletions":31}}},{"hash":"6b55ee6bd7d1986fb6bce3ec457c3309416782d9","isMergeCommit":true,"messageTitle":"Merge pull request #263 from drustanyjt/drus-remove-tag","messageBody":"Remove Instance of Tag","fileTypesAndContributionMap":{}},{"hash":"0dc78f65974a0383d557e341e34005e25802fa9c","isMergeCommit":false,"messageTitle":"Abstract display string to its own method","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":4}}},{"hash":"da189ed59c4d941b22391916e6c7990c4e43952e","isMergeCommit":false,"messageTitle":"Update heading levels","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":18,"deletions":18}}},{"hash":"5eb4f0ebe6d45bb79b8b4bf5f1812aa65ab92014","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"a1d421e2f4f78d0e1e64ddd46d18eec35448e2d5","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"e6cb6e8fc9939849f1c6b636a58f3f230ae18251","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"94cba3dde8581746ce44ed1f2ee5360b52ee426b","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"d513afc072903a54a3bd74df6a03182972da73f8","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"dc259480d0d17fb3165d62aa4f7ab678dec9d8ed","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"6d090d1a6814f982d645df2d5791ad44f2851136","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"6a3d7354d6c1b5cddfe31e2c45561137bf7dafc6","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"79af0937a7a7790461aadaecc9c5c90f094db485","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"8ed292e748f4d3e1a77cc052df9809aadd3f8dcb","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"74950450b82964c84327c25bbfb752eef7a81992","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-15","commitResults":[{"hash":"e9a922a465fab63c0159bce5bb910730944dbc4c","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"c9fe2e5d6b9ec1eeb368c517148f9cf6a6d23767","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"e3f92ea0008f6a2df6d62d1cecf1f427af9ef171","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"895b88ea150c521e14528874505f4a9a847f30a0","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"6f1a8e6f6cb1a468de1b4eb705e0e8af764b7345","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"a9edd6559715874d3e30ad93065e99de731c1332","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":3}}},{"hash":"83c4b5ddc49f207d45f77bca46b91035ebbe1daf","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"b79c774dd73b18fb74abd257bed43476b91995fb","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"18b9e98e287078747deee4b947de7358e3e58a74","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"5a370c6a22ad9c1afe751acb41da851e461a81f0","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"55890e228a9cf314bc3c2bb1f3d7ea2a5f10bb86","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":4}}},{"hash":"63c10450bb5491cdef7981bc37c8bbd6ab9c095d","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":13}}},{"hash":"4f13660fbcabbede60b40bae32192bdee8fe1b96","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"87e934cdfeb6d2d728e413f5ce152ea1844cf2fd","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":16,"deletions":17}}},{"hash":"4bfbb334006c47eeb09b49237b53f6444069f95a","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":48,"deletions":52}}},{"hash":"ade55c5722d09d24fceaf88d7d1480c67048d656","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":14,"deletions":14}}}]}],"Jayne1010":[{"date":"2024-03-05","commitResults":[{"hash":"5c3b512b4437b7dbc40a12f81d2a5f2c4043d612","isMergeCommit":false,"messageTitle":"Update user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":34,"deletions":58}}},{"hash":"474dc32baa8f98a1a8bcbf3df39a6e78e83f1d2d","isMergeCommit":false,"messageTitle":"Update UG with minor typo fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"8a95434394c4826dbd915f7d99bdb060ed2ea7aa","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"bccedcb53f202203ade98150652a325be001ba04","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"80c59a32e3f398301150979761ec4f763903e5f0","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"ae0360ebd33544f6c1b1b14bc94e972a998f48f5","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"25b35b33296660a59dfebfe6c7c75df99957da4f","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":34,"deletions":58}}},{"hash":"e6ef73be1f8c8973daa5432b782e0115a35d3945","isMergeCommit":false,"messageTitle":"Update DG v1.1","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":11,"deletions":9}}},{"hash":"8ef12faa0943d2dfcd686f934b30f37ee98b8ad4","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"a848745810b23913f65038b592963a9ba03b4d72","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"62eceedef59ac84b48a8dfdf17b5e857dfaf23b7","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"90d19984cb50ddf3faa74ac2182f8724cf041efb","isMergeCommit":true,"messageTitle":"Merge pull request #26 from Jayne1010/Updated-DG-v1.1","messageBody":"Update dg v1.1","fileTypesAndContributionMap":{}},{"hash":"c9d0294eb50bbd3d051ef812fc30db401db1a632","isMergeCommit":false,"messageTitle":"Revert \"Update dg v1.1\"","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":67,"deletions":46}}},{"hash":"44d87616ec6b8d546d083f15578cb65e6fa586fb","isMergeCommit":true,"messageTitle":"Merge pull request #30 from AY2324S2-CS2103T-F14-2/revert-26-Updated-DG-v1.1","messageBody":"Revert \"Update dg v1.1\"","fileTypesAndContributionMap":{}},{"hash":"46d4d35070797256cbf1a01fb7a6bb5cb07954a2","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"349d3530bc407f12ef6316292df677f7da1ea3ed","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-17","commitResults":[{"hash":"e7f6c808b940a0a5390acbc01033aeeeef77cbd9","isMergeCommit":false,"messageTitle":"Update Add Command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":82,"deletions":67},"other":{"insertions":1,"deletions":1},"test-code":{"insertions":9,"deletions":14}}},{"hash":"4a73cf3ede2e956c8dd997ab9bcb35674c40097e","isMergeCommit":false,"messageTitle":"Update Add Command to add more Person\u0027s parameters","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":18,"deletions":5}}},{"hash":"d9dd3a2450670ae972f69520634b5a7de98503ea","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":33,"deletions":7}}},{"hash":"1432dd9f55d45c5b22611d4b3ca6f29f48296dd4","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":17,"deletions":7}}},{"hash":"713b587907b03b5b815d55a9623da1419dcf9333","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":4,"deletions":2}}},{"hash":"116d1a441c736c1bd2b93c3a4cdbae8d8e1b740c","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":2}}},{"hash":"defb309d5fc0c8ce6a000cfd2426b4b1cbdc811e","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":29,"deletions":30},"test-code":{"insertions":14,"deletions":9}}},{"hash":"c06824bf8da1476b28ac4e629c59e8aa1a1d6bc0","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":2}}},{"hash":"f9a36cbb78b0a4e360cc66370dff542601aaebaa","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}},{"hash":"01efc05263cab20b8e01b9148cb39d063bc9922c","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":16,"deletions":21}}},{"hash":"3aabcf15f4e2a9b3b52e6b38a298fa3cd7c30c68","isMergeCommit":true,"messageTitle":"Merge pull request #53 from Jayne1010/UpdateAdd1.2","messageBody":"Update add1.2","fileTypesAndContributionMap":{}}]},{"date":"2024-03-18","commitResults":[{"hash":"6e19572844da113e05ffb588e34fa8986d83104f","isMergeCommit":false,"messageTitle":"Update Edit Command to edit with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":83,"deletions":41}}},{"hash":"7e602cdfbb9e118ed4f78cb152db3b053fb0b452","isMergeCommit":false,"messageTitle":"Update Edit Command to edit with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":17,"deletions":3}}}]},{"date":"2024-03-19","commitResults":[{"hash":"fa2cba4fce2677a798273f4b31a22593ee22064f","isMergeCommit":false,"messageTitle":"Update user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":5}}},{"hash":"c54256525520c61e3a178a2a75087b06de7be70f","isMergeCommit":false,"messageTitle":"Update developer guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"a8d1265d5c930e30a8598939de94e196bc3ed4fc","isMergeCommit":false,"messageTitle":"Style enhancement","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"docs":{"insertions":0,"deletions":1}}}]},{"date":"2024-03-20","commitResults":[{"hash":"d4ba08a423ebafb5103291e7dad87f57d1b3a6ad","isMergeCommit":false,"messageTitle":"Add UML diagram for add command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":70,"deletions":0}}},{"hash":"2096e22eb9e1d39b661e12a03bd404cb16e1fc18","isMergeCommit":false,"messageTitle":"Add UML diagram for edit command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":70,"deletions":0}}},{"hash":"e154c8199b8561dc0be88a7ad488722f964d8148","isMergeCommit":false,"messageTitle":"Add test cases for add command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":89,"deletions":42}}},{"hash":"00246e93044baff1c2f670cb393064b8be17fc0c","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":51,"deletions":7}}},{"hash":"138e2e3044c031c6e6cf3427974de8da334181d9","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}},{"hash":"69621e5f881ea459ba0f0ab2a59fe5356bebfd32","isMergeCommit":true,"messageTitle":"Merge pull request #65 from Jayne1010/UpdateEditCommandv1.2b","messageBody":"Update Edit Command to edit with Person\u0027s IC","fileTypesAndContributionMap":{}}]},{"date":"2024-03-21","commitResults":[{"hash":"18a3fbc86cf62e6e07831ff854516d93aec18500","isMergeCommit":false,"messageTitle":"Update gradle.yml","messageBody":"Reverting workflow file to see if it solves compile issues.","fileTypesAndContributionMap":{"other":{"insertions":3,"deletions":4}}},{"hash":"4c97d2a44827ff30141e9ca40e4f17f45fbc6d9b","isMergeCommit":false,"messageTitle":"Update edit command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":60,"deletions":22}}},{"hash":"40c648e33a264ed3de5d524017377fa53ad236b5","isMergeCommit":false,"messageTitle":"Update edit command parser","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":29,"deletions":12}}},{"hash":"f385afd8123f50ad2220237d635356af7a304d62","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":113,"deletions":136}}},{"hash":"e18e604f267059d574e1410568c67e1e95d3afb3","isMergeCommit":false,"messageTitle":"Add new class","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":5,"deletions":0}}},{"hash":"f92949ae64248ea5d5d29a4aea6cb27b33fb156c","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":41,"deletions":1}}},{"hash":"eddc320fc5092d4eb83123feb73809aa2bf01566","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":16,"deletions":2}}},{"hash":"f8576e93b3e4a389cd1ff104b8534c9582a76505","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":28,"deletions":7}}},{"hash":"3490671e09e40f99750307d2d0ec89943adad54f","isMergeCommit":false,"messageTitle":"Update edit command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":1}}},{"hash":"742dd0511add81875621f7342a7168fd1e40b292","isMergeCommit":false,"messageTitle":"Update edit command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-22","commitResults":[{"hash":"518a4d97cb1f0c4b05df5e4b8a6e1c7b98a5eda1","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}},{"hash":"76d48aac5243c5b628715cb72c1bb8d9baa4082d","isMergeCommit":true,"messageTitle":"Merge pull request #93 from Jayne1010/UpdateEditCommandTestv1.2b","messageBody":"Update edit command test","fileTypesAndContributionMap":{}},{"hash":"a62d3e45fd226189eba4c249086173ee4be4077e","isMergeCommit":true,"messageTitle":"Merge pull request #94 from drustanyjt/drus-update-sample","messageBody":"Remove tags from sample data","fileTypesAndContributionMap":{}}]},{"date":"2024-03-24","commitResults":[{"hash":"3b6e02fc6dfb09f0683750b46e190ef1691c76d3","isMergeCommit":false,"messageTitle":"Revise error message for commands and refine success message formatting","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":68,"deletions":21}}},{"hash":"85387773f286ab8f905e2bd0c39298aef44908fd","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"9e18e558e137257a744e9a990c85fe2511152357","isMergeCommit":false,"messageTitle":"Edit add commnad and delete command test","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1},"test-code":{"insertions":24,"deletions":5}}},{"hash":"dc16decaa849c2a1089fefe6e7437afdf0e8d760","isMergeCommit":false,"messageTitle":"Fix typos","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":2}}},{"hash":"06822786d3d15ae0e723176649875697db0745e5","isMergeCommit":false,"messageTitle":"Resolve merge conflict","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":11}}},{"hash":"ddb67e75d1d2996002603fedc66c87ca0a65804b","isMergeCommit":true,"messageTitle":"Merge pull request #110 from Jayne1010/EditErrorMessage","messageBody":"Edit error message and success message ","fileTypesAndContributionMap":{}},{"hash":"afe6c2235a41604158057e33ac03a42597b15e67","isMergeCommit":false,"messageTitle":"Resolve merge conflict","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":12,"deletions":8}}},{"hash":"7a4490a54061e68f6e3d7bdb92b532695a604bcb","isMergeCommit":true,"messageTitle":"Merge pull request #108 from jiahui0309/edit-ui","messageBody":"Edit UI features of ClinicMate","fileTypesAndContributionMap":{}},{"hash":"08c1a6a34d2d3c719cbf4fae780407c65c3d7d3a","isMergeCommit":true,"messageTitle":"Merge branch \u0027AY2324S2-CS2103T-F14-2:master\u0027 into master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"7a4e1a2a84581a798594a9aa0edb24f508d0b52e","isMergeCommit":true,"messageTitle":"Merge pull request #115 from Jayne1010/master","messageBody":"Resolve merge conflict","fileTypesAndContributionMap":{}},{"hash":"50cc7143c635119463d8675278d11b7262159208","isMergeCommit":true,"messageTitle":"Merge pull request #113 from tengcharmaine/nonexistentic_addnote","messageBody":"Update addnote to display full list when nonexistent ic is used","fileTypesAndContributionMap":{}}]},{"date":"2024-03-26","commitResults":[{"hash":"10657a247ed7e4fe4fde47f84c4a9ac72cd81b03","isMergeCommit":false,"messageTitle":"Implement direct browser link","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":48,"deletions":8}}},{"hash":"093db4b86cce5692f0a223635190a3177d5f1020","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":2}}}]},{"date":"2024-03-27","commitResults":[{"hash":"e4803395d8607279efb4adb07f6d2ac3aa3a47f6","isMergeCommit":true,"messageTitle":"Merge pull request #123 from Jayne1010/help-window","messageBody":"Implement direct browser link","fileTypesAndContributionMap":{}},{"hash":"cd8227c62837609b35c5c8eea58445eede5c5c19","isMergeCommit":false,"messageTitle":"Update UI for note window","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":19,"deletions":4}}},{"hash":"c2f97bf0ae2befa9bb5a8357d3dfb2904b22055c","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-02","commitResults":[{"hash":"f1288da34b2009576780e2bf42858fc269f64097","isMergeCommit":false,"messageTitle":"Edit user guide introduction and guide usage","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":60,"deletions":9}}},{"hash":"5d938e9f33e4a3f351c8d843c5e8f3355fd7f31b","isMergeCommit":false,"messageTitle":"Edit user guide for markdown icons","messageBody":"","tags":["nightly-2024-04-03-5d938e9","nightly-2024-04-02-5d938e9"],"fileTypesAndContributionMap":{"docs":{"insertions":11,"deletions":8}}}]},{"date":"2024-04-03","commitResults":[{"hash":"033f7ddc0c5a2ccb24e0c0ec9aacecd2e688a563","isMergeCommit":false,"messageTitle":"Edit typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"f38393b92b3a7dbc05e26ef3ff4a9f69f75e3714","isMergeCommit":true,"messageTitle":"Merge branch \u0027AY2324S2-CS2103T-F14-2:master\u0027 into master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"8a5752a08f0b4cb7ee56fb29927924e8d68c1e69","isMergeCommit":false,"messageTitle":"Edit table of content section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":3}}}]},{"date":"2024-04-04","commitResults":[{"hash":"37bf8d34eb92784ed1a418d9c4a564ec281b4a1c","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":11,"deletions":6}}},{"hash":"6f0ff40b590c4d8f1e00c70ed3a63a688c6569f9","isMergeCommit":true,"messageTitle":"Merge pull request #140 from Jayne1010/master","messageBody":"Edit user guide introduction and guide usage ","fileTypesAndContributionMap":{}},{"hash":"5fdf071c54f4acdb88c339880417eebbdc6ede34","isMergeCommit":false,"messageTitle":"Edit specificity of error message","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":21,"deletions":11}}},{"hash":"ac7b1a9802843c74765297c3731801611df70b16","isMergeCommit":true,"messageTitle":"Merge pull request #154 from Jayne1010/ErrorSpecificity","messageBody":"Edit specificity of error message","fileTypesAndContributionMap":{}},{"hash":"9c747efab9a1963839faaa5925939ca7cec27865","isMergeCommit":true,"messageTitle":"Merge pull request #153 from jiahui0309/edit-userguide","messageBody":"Edit UserGuide","fileTypesAndContributionMap":{}}]},{"date":"2024-04-07","commitResults":[{"hash":"150c65556d92bfe38c17a5d7c6dd76e98d1ccaec","isMergeCommit":false,"messageTitle":"Edit command section of user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":80,"deletions":41}}},{"hash":"8e12a464b585b55f17b7f24b088ab923f79e7ec8","isMergeCommit":false,"messageTitle":"Edit UG for all commands","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":175,"deletions":27}}},{"hash":"75763a56281bf406333c60fb1828b79b7efa7e21","isMergeCommit":false,"messageTitle":"Edit command section in UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":34,"deletions":0}}},{"hash":"1fe7ba4bd9a52a8fca0076ffd0c05d1556f20fb1","isMergeCommit":true,"messageTitle":"Fix merge conflicts","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-04-08","commitResults":[{"hash":"9f38ff60ffe9fa0fabf3d0ec0b95e7bb1359b23f","isMergeCommit":true,"messageTitle":"Merge pull request #217 from Jayne1010/UGCommand","messageBody":"Edit UG for command section","fileTypesAndContributionMap":{}},{"hash":"3af4732eb81d263e9073898fb74341c42e242f5c","isMergeCommit":true,"messageTitle":"Merge pull request #218 from jiahui0309/edit-ug-intro","messageBody":"Edit UG introduction and glossary","tags":["nightly-2024-04-09-3af4732","nightly-2024-04-08-3af4732"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-12","commitResults":[{"hash":"d4accc06aed1468686acce3ef1ffdffaead60ca3","isMergeCommit":false,"messageTitle":"Update UG to fix bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":10,"deletions":1}}},{"hash":"169ddbf9d86582b47b4ed8ddc89107d2af3ed312","isMergeCommit":true,"messageTitle":"Merge pull request #221 from Jayne1010/master","messageBody":"Update UG to fix bugs","fileTypesAndContributionMap":{}},{"hash":"79f106c3586570b797378d52033ca57aec8ddf09","isMergeCommit":true,"messageTitle":"Merge pull request #222 from drustanyjt/drus-ic-error","messageBody":"Fix typo in addnote error log","fileTypesAndContributionMap":{}}]},{"date":"2024-04-13","commitResults":[{"hash":"9bd1f70a0757614733e3c2abf15647f4a6e4bfee","isMergeCommit":false,"messageTitle":"Edit DG for appendix b and c","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":212,"deletions":1}}},{"hash":"0d2295ef24a6aafa4f9452faaeb0776b6ec4c2b5","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"80cf6f994f3ee1786597f372dea3745aacce8056","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":36,"deletions":33}}},{"hash":"bc6483d9ae51e9182bb398f3d87e1d1d0d727ec4","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"3b26779346658975da0cb104d5c5082f81def38a","isMergeCommit":true,"messageTitle":"Merge pull request #255 from drustanyjt/drus-addnote-newline","messageBody":"Note down use of space as note","fileTypesAndContributionMap":{}},{"hash":"a2f9f3e3915e610fe2ad4c00c97ba7615ce54f8e","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"aabfecf6106c5968dcea99fb68c982c3c70d3f7b","isMergeCommit":false,"messageTitle":"Fix typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":16,"deletions":16}}},{"hash":"baa0a20954c83c9e80211b5fdce028a976a8fadb","isMergeCommit":true,"messageTitle":"Merge pull request #244 from Jayne1010/master","messageBody":"Edit DG for appendix b and c","tags":["nightly-2024-04-13-baa0a20"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-14","commitResults":[{"hash":"4af7a6d51dcdaf84b038e4a875c72cf73bd5d3bc","isMergeCommit":false,"messageTitle":"Update DG implementation for UI and show command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":194,"deletions":11}}},{"hash":"be4b1ec5dafc487a93248c72fb75085eda739436","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"5bced05cd3fd007d5e5fdee32ce4b22c95ec6a25","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":6}}},{"hash":"51ebf510b1d6568ee0c9d847ee7a1bba2c6f9949","isMergeCommit":false,"messageTitle":"Fix implementation section for edit","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":1}}},{"hash":"ef442e30943b47bfd0c2a8f70c5346f7f4725f97","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":0}}},{"hash":"44149816cf6668e84a6baf2f5b8dc87b006dbb3b","isMergeCommit":false,"messageTitle":"Fix bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"e7bea21512dbe3db8c99905d38aef4e307a84451","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"91294cb75a49b082b8bc3ea58c614a5188e4efd7","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":1}}},{"hash":"1be9bf6023f7913c2e38e35e2801809f63c3f502","isMergeCommit":true,"messageTitle":"Merge pull request #266 from tengcharmaine/quicktourimages","messageBody":"Add images to the quick tour section of the user guide","fileTypesAndContributionMap":{}},{"hash":"cdaa69aff66464e1dc5f56c8fc668d67322ba805","isMergeCommit":true,"messageTitle":"Merge pull request #270 from tengcharmaine/activitydiagram","messageBody":"Activitydiagram for add and addnote","fileTypesAndContributionMap":{}},{"hash":"4d4aae827b13d7b92dedefaedb4d17d6636c78b9","isMergeCommit":true,"messageTitle":"Merge pull request #253 from jiahui0309/edit-dg","messageBody":"Edit Developer Guide Design section","fileTypesAndContributionMap":{}},{"hash":"d836aa99de6b4ab9ac802a24586497098fea20ad","isMergeCommit":true,"messageTitle":"Merge pull request #269 from tengcharmaine/addnotelogic","messageBody":"Update user guide with the addnote logic","fileTypesAndContributionMap":{}},{"hash":"e703a37484549d28f5d06c183f6917cdcf343d29","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":12,"deletions":12}}},{"hash":"c06b964b673a2a4058200ba59348338037085ecb","isMergeCommit":true,"messageTitle":"Merge pull request #271 from drustanyjt/drus-note-access","messageBody":"Abstract display string to its own method","fileTypesAndContributionMap":{}},{"hash":"8637faecca2b75b7edb7b80293f09d7649b8ab0b","isMergeCommit":true,"messageTitle":"Merge pull request #258 from Jayne1010/master","messageBody":"Update DG implementation for UI and show command","fileTypesAndContributionMap":{}},{"hash":"adac99d189b106a01ab7bb17686c50b3c3c00305","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":16,"deletions":4}}},{"hash":"2d9768f9f859131066a77f6411e48fd8d33b55d9","isMergeCommit":true,"messageTitle":"Merge pull request #273 from Jayne1010/master","messageBody":"Changed implementation section for DG","fileTypesAndContributionMap":{}}]},{"date":"2024-04-15","commitResults":[{"hash":"1d2de361114e6f236165500dd8705b1e358afa7e","isMergeCommit":false,"messageTitle":"Fix images","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":2}}},{"hash":"e6014e9fe79db3498b0c2788cefbca69b9febfe8","isMergeCommit":false,"messageTitle":"Fix image","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]}],"tengcharmaine":[{"date":"2024-03-03","commitResults":[{"hash":"6adfcc34a784f13ffc31553c6973dadbb80cac88","isMergeCommit":false,"messageTitle":"Update Ui mockup png to the new Ui mockup in readme","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"1486ea0ef2a180512c5976509554d75ef28089dd","isMergeCommit":false,"messageTitle":"Update readme docs for Clinic Mate from original docs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":19,"deletions":10}}},{"hash":"6e06e4ea3678473438cca55efac61b95ed58ecbf","isMergeCommit":false,"messageTitle":"Fix errors from github checks","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"19bf42edea40495ac4119f43eb631d4c62b37073","isMergeCommit":false,"messageTitle":"Update CI status badge to reflect build status of teams repo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"633a23989c72c88bc8f67cdfd1334c35eb009fa0","isMergeCommit":false,"messageTitle":"Update non-functional requirements (NFRs) to developers guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":10,"deletions":5}}},{"hash":"6e1c8f60919f274804a665135aa7ee90348f57b0","isMergeCommit":true,"messageTitle":"Merge pull request #24 from tengcharmaine/update-readme","messageBody":"Update Project README","fileTypesAndContributionMap":{}},{"hash":"922bfe9ea876da86da32caebe1932565f064f5b4","isMergeCommit":true,"messageTitle":"Merge pull request #25 from tengcharmaine/update_NFR","messageBody":"Update non-functional requirements (NFRs) to developers guide","fileTypesAndContributionMap":{}}]},{"date":"2024-03-05","commitResults":[{"hash":"46d097d2b310c08dd298e62dc545ff12a54644de","isMergeCommit":true,"messageTitle":"Merge pull request #27 from Jayne1010/Updated-UG-v1.1","messageBody":"Update ug v1.1","fileTypesAndContributionMap":{}}]},{"date":"2024-03-06","commitResults":[{"hash":"3f6d958b873330dc5407e8bb3e43e7334e3e1aa6","isMergeCommit":false,"messageTitle":"Update Quick Start section of UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}}]},{"date":"2024-03-16","commitResults":[{"hash":"0fe36078122ac2a61d7c89cdf4788d23bdec8e40","isMergeCommit":false,"messageTitle":"Create a new AddNoteCommand class for the new addnote functionality","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":35,"deletions":0}}},{"hash":"665392252e1bf9f57f32851c3b3d129c5456494c","isMergeCommit":false,"messageTitle":"Start addnote from scratch again to prevent mixup","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":24}}},{"hash":"fba4dade8a26169a869463e43b0054dc894086bb","isMergeCommit":false,"messageTitle":"Update main body of the addnote command class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":15,"deletions":2}}},{"hash":"cdf552de2e734860f1806a08f8c948db40404c0a","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/tengcharmaine/tp into addnote","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"47fef0bc3dd278ca979e3221291cfdf8b93bfcb6","isMergeCommit":false,"messageTitle":"Update addressbookparser to include addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":4,"deletions":9}}},{"hash":"f064efd928120ca7e3f14ca4cf19b8b11ced1735","isMergeCommit":false,"messageTitle":"Add prefix for the note section of the addnotecommand","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":0}}},{"hash":"2ff70274d59ddbb96029423577e0edc49be78132","isMergeCommit":false,"messageTitle":"Add test file to test the functionality of the addnotecommand","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":24,"deletions":0}}},{"hash":"6ae46c777b2f1815a580b357825e42e710dfc2ce","isMergeCommit":false,"messageTitle":"Update addressbookparsertest file to include the parsing of the addnote command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":6,"deletions":8}}},{"hash":"0aa30a47054fa71b0e61a5b71517c46094e320bc","isMergeCommit":false,"messageTitle":"Create parser for addnotecommand to parse addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":72,"deletions":3}}},{"hash":"b953704fc5e36e73e89303fadb54bd1db3404414","isMergeCommit":false,"messageTitle":"Add more tests for addnotecommandtest to check if add note command works","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":37,"deletions":6}}},{"hash":"19c02c9a4c8c6f0ae5a077154ded5e502a1de9d3","isMergeCommit":false,"messageTitle":"Update addressbookparsertest to check that parsing works","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":5,"deletions":1}}},{"hash":"e92c6a711c6103d786f4ded3b22354c9ee288fec","isMergeCommit":false,"messageTitle":"Create a parser test for addnotecommandparser","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":42,"deletions":0}}},{"hash":"9b401bddb29969bf74af3ade8e3bfcf4c00301c1","isMergeCommit":false,"messageTitle":"Update comments to fit the class name","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":4}}},{"hash":"5dd57bd198941b8960523b4e5546c701825a35c4","isMergeCommit":false,"messageTitle":"Update names of variables to match new names","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":4}}},{"hash":"50f08d92eb32fdc0b3194006629dc76aee34db49","isMergeCommit":false,"messageTitle":"Update the type of note to all relevant files and create a test for note class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":3},"test-code":{"insertions":48,"deletions":9}}},{"hash":"18e48a708961bdd57d13a098c30dbb99ad7a9ae2","isMergeCommit":false,"messageTitle":"Update code for the ui to show note in the main window","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":0}}},{"hash":"59c2973f81bf759822ae322d8df6e1d048e0258d","isMergeCommit":false,"messageTitle":"Update code for ui to work properly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":0}}},{"hash":"a8cda1b083ae0911b9d21f4c550a6d8aea2377c0","isMergeCommit":false,"messageTitle":"Update addnotecommand class to have the correct person format","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":34,"deletions":6},"test-code":{"insertions":77,"deletions":9}}},{"hash":"dc08b5f7db6e534fb4d0b17a2f46d51a6c16f53a","isMergeCommit":false,"messageTitle":"Update addnotecommand to append notes instead of replacing them","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":25,"deletions":6}}},{"hash":"098fb1f2b74c6044113e0964846c61506c29fbcc","isMergeCommit":false,"messageTitle":"Update the addnotecommand to be able to replace or append the original note","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":30,"deletions":16}}},{"hash":"07769ba97fd671dd6c2789cf356b30639453ef65","isMergeCommit":false,"messageTitle":"Edit the appending of new note to make the output more user friendly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":2}}},{"hash":"81aefcc9c314e29a603eab7d072173eb97f0a694","isMergeCommit":false,"messageTitle":"Update to use ic number instead of index to addnote to a person","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":35,"deletions":30}}},{"hash":"3e1b1d0960373d9351aec95f8ae3bacb02b23773","isMergeCommit":false,"messageTitle":"Update addnotecommand and addnotecommandparser classes to be able to append or replace note","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":26,"deletions":11},"test-code":{"insertions":33,"deletions":52}}},{"hash":"75619c631e9eef91aed04c5bb67be4b1bc0d73ae","isMergeCommit":false,"messageTitle":"Resolve checkstyle issues","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":5}}},{"hash":"c2ea630c9d8f7c6854d1c4c2e21c081d5d0b3e7f","isMergeCommit":false,"messageTitle":"Update imports to resolve checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":1}}},{"hash":"f5f4105f45e2486a88ddd8395e59a0783f84a758","isMergeCommit":false,"messageTitle":"Resolve checkstyle issue again","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1}}},{"hash":"487291a522debc982e5047f68cdec3dace2e01cc","isMergeCommit":false,"messageTitle":"Update addressbookparsertest to be able to test when notes are added","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":2}}},{"hash":"4aca9270e0bdaadec67d877d537e66df11300017","isMergeCommit":false,"messageTitle":"Update files to make sure all tests pass","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":12,"deletions":83}}},{"hash":"2f04d41b5300a61f4ac3773b38cc305f7d8dca3d","isMergeCommit":false,"messageTitle":"Update url of help command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-17","commitResults":[{"hash":"96beadae28564108a199f25e873b4963b1932807","isMergeCommit":true,"messageTitle":"Merge pull request #51 from tengcharmaine/helpcommand","messageBody":"Update URL of help command","fileTypesAndContributionMap":{}},{"hash":"351418a1e1c71dc1dc6f94e0cd411a494aea7efb","isMergeCommit":false,"messageTitle":"Update naming of variable to make the code more readable","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":7}}},{"hash":"1defa5b91d2ae21e1a4f299fe7f9019ed87dc966","isMergeCommit":false,"messageTitle":"Update code such that there is no repeated code in the if-else block","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":12}}},{"hash":"27f94b8780094149a5712b522460949b12a5cc13","isMergeCommit":false,"messageTitle":"Update success message to fit the functionalities that are going to be implemented","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":4}}},{"hash":"b6da16e7d0427f2298e0660ad44d2647f4132452","isMergeCommit":false,"messageTitle":"Update equals method in addnotecommand class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"65e4f6d9fb9ef49b856e290372fdc91696958e68","isMergeCommit":false,"messageTitle":"Move -replace flag to be a prefix because it is a constant","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":12,"deletions":8}}},{"hash":"504a6703e724f4312911eb7637556896b4044750","isMergeCommit":false,"messageTitle":"Update parser and the relevant test files to support testing of the replace flag","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":5},"test-code":{"insertions":11,"deletions":1}}},{"hash":"adf49f8cccd1f0ca863fed3d49d1909f6a477c49","isMergeCommit":false,"messageTitle":"Remove unecessary string in the test case","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}},{"hash":"34049096c3887035c2fdcbddbc07d8eca8817df5","isMergeCommit":false,"messageTitle":"Update invalid format output and remove unecessary lines of code","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":5}}},{"hash":"7c5baeec3ae1edaa23da954b35697cb3dfedf5a3","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into addnote","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-03-18","commitResults":[{"hash":"5c57592ed5e86e4a50bd0d75df021f7d498f69f7","isMergeCommit":true,"messageTitle":"Merge pull request #50 from tengcharmaine/addnote","messageBody":"Add addnote command to add a note to a Person\u0027s entry in the addressbook","fileTypesAndContributionMap":{}},{"hash":"2e2c94a8715de9f8ae27dfe3fd778f54d55922cd","isMergeCommit":true,"messageTitle":"Merge pull request #47 from jiahui0309/update-delete-command","messageBody":"Update Delete Command to delete with Person\u0027s IC","fileTypesAndContributionMap":{}},{"hash":"ba56b8f3169d27722e5697cab7ce1fb4a8e6f577","isMergeCommit":false,"messageTitle":"Fix bug that results in a empty line when a note is first added","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":6,"deletions":5}}},{"hash":"44fb44e949110f002aec28e8fcd9257274d25c60","isMergeCommit":false,"messageTitle":"Update the output success message to be more user friendly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":2}}}]},{"date":"2024-03-20","commitResults":[{"hash":"e9344111855be514da956b9dd6539a5745ef0819","isMergeCommit":true,"messageTitle":"Merge pull request #64 from drustanyjt/drus-ci","messageBody":"Add release workflows and update icons/titles to match product","fileTypesAndContributionMap":{}},{"hash":"78816172f25a8fe82a66935d381b9d1cc3a4f9af","isMergeCommit":false,"messageTitle":"Create UML diagram using PlantUML for addnotecommand function","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":70,"deletions":0}}},{"hash":"032e2453de7b90a06cdef8075a04c35a7b374682","isMergeCommit":false,"messageTitle":"Add test cases for addnotecommand class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"test-code":{"insertions":38,"deletions":2}}},{"hash":"eccd7f69508df4cc8cad7455483dea9d21ae728d","isMergeCommit":false,"messageTitle":"Edit file to resolve checkstyle issues","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":3,"deletions":3}}},{"hash":"e346979cb6f0827b2bdf54ff46cddfcddde47717","isMergeCommit":true,"messageTitle":"Merge pull request #68 from jiahui0309/add-seq-diagram","messageBody":"Create UML diagram for find and delete commands","fileTypesAndContributionMap":{}},{"hash":"68b26570fd6df049800008271734c66b3e5f4f1e","isMergeCommit":true,"messageTitle":"Merge pull request #74 from Jayne1010/master","messageBody":"Add UML diagram for add command and edit command","fileTypesAndContributionMap":{}},{"hash":"58013af5ab57cfd07da360478ed0016c19db9e72","isMergeCommit":true,"messageTitle":"Merge pull request #78 from drustanyjt/drus-person-uml","messageBody":"Update UML diagram for Person","fileTypesAndContributionMap":{}},{"hash":"f9caef08d2a479ec65f42cb0beb9e3c735505c4b","isMergeCommit":true,"messageTitle":"Merge pull request #71 from tengcharmaine/uml_addnotecommand","messageBody":"Create UML diagram using PlantUML for addnotecommand function","fileTypesAndContributionMap":{}},{"hash":"71d8bc93b84be9e50bf3f3786e6b4a81dfa31d99","isMergeCommit":true,"messageTitle":"Merge pull request #67 from Jayne1010/UpdateDGv1.2b","messageBody":"Update dg for v1.2b","tags":["dev"],"fileTypesAndContributionMap":{}},{"hash":"dd696a81d7454b18a575688973537dfdd248670c","isMergeCommit":false,"messageTitle":"Update sex field to accept upper and lower case","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3}}},{"hash":"d8902645b25aa38d037c66a1273ed6efeb38b3c7","isMergeCommit":true,"messageTitle":"Merge pull request #77 from Jayne1010/UpdateAddCommandTestv1.2b","messageBody":"Update add command test for v1.2b","fileTypesAndContributionMap":{}}]},{"date":"2024-03-21","commitResults":[{"hash":"a3c54ace8262ecf7334bf349a42687140ca85c47","isMergeCommit":false,"messageTitle":"Update fxml to change the ui for main window but incomplete","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":22,"deletions":7}}}]},{"date":"2024-03-22","commitResults":[{"hash":"0462a049e5d09e807cc18f4a40bbf9ac2c095a66","isMergeCommit":false,"messageTitle":"Update split window to make it grow proportionately","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":8}}}]},{"date":"2024-03-23","commitResults":[{"hash":"cbf68d9c7159c173b1e2944b37f6373db078d2ea","isMergeCommit":false,"messageTitle":"Update addnote command to not have an ic prefix","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":10}}},{"hash":"2fc51897e64f04dc4a6d397c7038418e97e62866","isMergeCommit":false,"messageTitle":"Update addressbook parser test cases for addnote","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":5}}}]},{"date":"2024-03-24","commitResults":[{"hash":"a74be2dc55f4d95d771b1d74b59fb383ac163884","isMergeCommit":true,"messageTitle":"Merge pull request #109 from tengcharmaine/edit_addnote","messageBody":"Update addnote to not include ic prefix","fileTypesAndContributionMap":{}},{"hash":"874eccc4f0f3eda22b3e2e643825989a1bcea4d0","isMergeCommit":false,"messageTitle":"Update addnote to display full list when nonexistent ic is used","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":6}}},{"hash":"f58dcc23216924adde4550e515718482cf9663e1","isMergeCommit":false,"messageTitle":"Update invalid command message for addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":6}}},{"hash":"867545fb5ca5b5f9a1fcfeefed02bad1afdb13b5","isMergeCommit":false,"messageTitle":"Remove unused message","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1}}},{"hash":"c93c9e41c777b2f24a99a71fa2e28a3f9450abfe","isMergeCommit":false,"messageTitle":"Remove duplicated prefix for ic and update classes accordingly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1},"test-code":{"insertions":4,"deletions":4}}},{"hash":"5421d4505608abb85be1b48e6089421484f93073","isMergeCommit":false,"messageTitle":"Update error message regarding invalid ic format","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":4}}},{"hash":"c381951422a7fa3f1457dbd53e75f503964db799","isMergeCommit":false,"messageTitle":"Update delete command parser to print correct error messages","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":0}}},{"hash":"3a469e88fbbcd2a18ab12e2d768762786f3da67b","isMergeCommit":false,"messageTitle":"Update test cases for delete command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":3},"test-code":{"insertions":9,"deletions":6}}}]},{"date":"2024-03-25","commitResults":[{"hash":"eb7948413ec5b5a1e4e64bf7eaae68d0208b64f0","isMergeCommit":false,"messageTitle":"Update test cases for addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":3},"test-code":{"insertions":13,"deletions":2}}},{"hash":"0f14ff37196ca7572d3dac2ab6393cdb841c18c3","isMergeCommit":false,"messageTitle":"Resolve checkstyle error","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":0,"deletions":1}}},{"hash":"df348f85c73eafa4cd5d9cd6a35818b0e3bd695a","isMergeCommit":false,"messageTitle":"Update image on home page of website","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"36a425fdc97382f105fa9aaa511ff1f1acde5115","isMergeCommit":false,"messageTitle":"Update acknowledgements","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"80329a3e22685eb0cae800f39d0c7867f0a1569e","isMergeCommit":false,"messageTitle":"Update architecture sequence diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"e11433faf2180bf38b9f99ad1dbc9c55db6bedd8","isMergeCommit":false,"messageTitle":"Update image of ui in user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"3c1165b3f7da85400eec941b606f610cd475fc74","isMergeCommit":false,"messageTitle":"Update contents of dg","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"37ca6f6becd1f680736b26b9b28aafc01f6d4a96","isMergeCommit":false,"messageTitle":"Update implementation details for add command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":71,"deletions":55}}},{"hash":"e6665733eca6bd30fb05fe22be6f816dd67fbf8a","isMergeCommit":false,"messageTitle":"Small update on add command implementation","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"1dfa6a33b176399156f3b3286efad3572f4c49d6","isMergeCommit":false,"messageTitle":"Update implementation and design considerations for addnote command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":73,"deletions":2}}},{"hash":"b41ae35832f4614c6a68cbeec731fb18cd3f69bb","isMergeCommit":false,"messageTitle":"Update find command implementation and design consideration","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":62,"deletions":0}}},{"hash":"45b3c6a4ff6263108ef7a6be2763531ed662fc32","isMergeCommit":false,"messageTitle":"Update delete feature implementation and design consideration","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":68,"deletions":3}}},{"hash":"35dbd9737e22b276950800f0f0f75b29739b60d1","isMergeCommit":false,"messageTitle":"Update edit command implementation and design considerations","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":62,"deletions":0}}},{"hash":"601147efb2aa2cb4768ebbd4af1bfe7c2051128f","isMergeCommit":false,"messageTitle":"Update show command proposed implementation and design","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":61,"deletions":0}}},{"hash":"cd046640e376c6c710eced4cd9f9a33f374f14f2","isMergeCommit":false,"messageTitle":"Update user stories section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":10,"deletions":11}}},{"hash":"d0e44243613bc049ace5eaeb5c41548f59c952cb","isMergeCommit":false,"messageTitle":"Update use cases section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":27,"deletions":2}}},{"hash":"4f5ff14a7431ba763ab823dc415ce2cde0aa2cb6","isMergeCommit":false,"messageTitle":"Update test cases section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":65,"deletions":11}}},{"hash":"cfe834f707b28b7c896d2e269505a35a6758bb10","isMergeCommit":false,"messageTitle":"Update test case section in dg","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":6}}}]},{"date":"2024-03-26","commitResults":[{"hash":"ead123b00a9c9738f922ad46ff139eb56f2dbd9e","isMergeCommit":true,"messageTitle":"Merge pull request #116 from tengcharmaine/qol_updates","messageBody":"QOL bug updates","fileTypesAndContributionMap":{}},{"hash":"42166f44710337d1c5708076d88df106711246de","isMergeCommit":true,"messageTitle":"Merge pull request #119 from jiahui0309/edit-ug","messageBody":"Update UserGuide","fileTypesAndContributionMap":{}}]},{"date":"2024-03-27","commitResults":[{"hash":"e6c6b752f21bb8c5a90a0398f9bd8ed60e862fdc","isMergeCommit":false,"messageTitle":"Update DG with the correct diagram names","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":8,"deletions":8}}},{"hash":"39cf4ea89bb6a8ef10af27a554d01789c878f542","isMergeCommit":true,"messageTitle":"Merge pull request #127 from tengcharmaine/dg_broken","messageBody":"Update DG with the correct diagram names","fileTypesAndContributionMap":{}},{"hash":"0e8b8738897509508bddff26b57e7661cba3175d","isMergeCommit":false,"messageTitle":"Update DG with most updated features","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":45}}},{"hash":"4e3cd112374d35f564520e52818f89c8f81a8b91","isMergeCommit":false,"messageTitle":"Improve the addcommand sequence diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"f4cb0864aeb53673a2d54fb52e73a870c7793f64","isMergeCommit":false,"messageTitle":"Update centralisation for images","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":17}}}]},{"date":"2024-03-28","commitResults":[{"hash":"f4585e5ecf669d1210ce054edd9672d5f3926b5d","isMergeCommit":true,"messageTitle":"Merge pull request #129 from tengcharmaine/dg_updates","messageBody":"DG updates","tags":["v1.3.trial"],"fileTypesAndContributionMap":{}},{"hash":"8a3c22f40c76a19b77f4655d69fda8dce93ff6e7","isMergeCommit":false,"messageTitle":"Update note ui display to truncate properly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":31,"deletions":3}}},{"hash":"f1c74868d356755e50cc0cf22d1997d8f7f39884","isMergeCommit":false,"messageTitle":"Resolve checkstyle error","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"009f60c267344082a7d1aba6e83bf34196d57ace","isMergeCommit":true,"messageTitle":"Merge pull request #132 from tengcharmaine/personcard_ui","messageBody":"Personcard UI","fileTypesAndContributionMap":{}},{"hash":"a467a6210734975bd5b14f6ff60f6fd8f01b997e","isMergeCommit":false,"messageTitle":"Update build.gradle file to enable assertions","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":4,"deletions":0}}}]},{"date":"2024-04-04","commitResults":[{"hash":"f9a5fbd1371467da5ac6cb37824376ddf4da1eb1","isMergeCommit":false,"messageTitle":"Correct typos and add more FAQs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":27,"deletions":15}}},{"hash":"c022c14279c3131d9feb5a9b7d1681d0d36155dc","isMergeCommit":false,"messageTitle":"Update user guide to include new screenshots","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":1}}},{"hash":"f40fe8182e3b6ae6b9e841860c2fa8fd1457e780","isMergeCommit":false,"messageTitle":"Change minor typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"936dbb39d16b3c26db0eeeedf3e04a44652209f2","isMergeCommit":true,"messageTitle":"Merge pull request #142 from tengcharmaine/ugupdates","messageBody":"Final check before v1.3 closes and UG updates","fileTypesAndContributionMap":{}},{"hash":"179b8cf86e5dccecb4a4e7c36fd7778f9cdfcca0","isMergeCommit":false,"messageTitle":"Fix ui idsplay of personcard contents","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":6}}}]},{"date":"2024-04-10","commitResults":[{"hash":"a526b29116ad4fde36975200fa71bf3982bfc3ee","isMergeCommit":false,"messageTitle":"Bug fix for 166,162,161,177","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"1761bb3b8bd15c470432f48882cb412cfe9d73cf","isMergeCommit":false,"messageTitle":"Bug fix for 187","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":2}}},{"hash":"3de57258dfead5897f46aa29342f21bcbac34b4f","isMergeCommit":false,"messageTitle":"Resolves bug 183","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"56601815b8a5e6e263a0b51e186f8c81003a6d9a","isMergeCommit":false,"messageTitle":"Resolves bug 189","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":14,"deletions":2}}},{"hash":"84a05025f37657eec878ecd5f7703fba8ec130f8","isMergeCommit":false,"messageTitle":"Resolves bug 188","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":28,"deletions":26}}},{"hash":"cb5936a5f1e340688169411fec534203de0ee0e4","isMergeCommit":false,"messageTitle":"Adding of page breaks","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":0}}},{"hash":"5964bd9af89e6e3b0d04cad47807336fd3e003c7","isMergeCommit":false,"messageTitle":"Fix typo and add faq on help window icon not working","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":1}}},{"hash":"074041dd869509099e1784249139219c55a8e2bd","isMergeCommit":false,"messageTitle":"Add faq, notes and further enchancement for 181 and 185","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":1}}},{"hash":"62d54ab740f4ace9e98a69024e69734ea4d8806e","isMergeCommit":false,"messageTitle":"Fix typos in the ug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":2}}},{"hash":"7ec80ee408b169fa25c2e743fd400e3c830a0388","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into ped_bugs","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-04-12","commitResults":[{"hash":"4805a6d596185b1041c59b3cc6c8e89ca6877c45","isMergeCommit":true,"messageTitle":"Merge pull request #220 from tengcharmaine/ped_bugs","messageBody":"Ped bugs","fileTypesAndContributionMap":{}},{"hash":"8faf579833d9d92bf8125ede8d932d908f130c40","isMergeCommit":true,"messageTitle":"Merge pull request #229 from drustanyjt/drus-docs","messageBody":"UG Fixes","tags":["nightly-2024-04-12-8faf579"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-13","commitResults":[{"hash":"a9581312c792bf4685426cddd6a6c4c50469dc65","isMergeCommit":true,"messageTitle":"Merge pull request #243 from jiahui0309/jh-edit-ug","messageBody":"Edit user guide together","fileTypesAndContributionMap":{}},{"hash":"2dc25eb2f0e55870d4b92e5cfb8f5534d60b8e20","isMergeCommit":false,"messageTitle":"Resolves issue 234 about missing description","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":1}}},{"hash":"a7996050a8dfb6533fd4ff9dfa7e8393acc0adb8","isMergeCommit":false,"messageTitle":"Resolves 231 to add instructions on how to open the terminal","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":3}}},{"hash":"0c0ca2fa63fce8211717328ce00366e918200009","isMergeCommit":false,"messageTitle":"Resolves 237 about show not having a possible error section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":0}}},{"hash":"d36c724ef18b042193514b624f4ed22ac12a0574","isMergeCommit":false,"messageTitle":"Resolve issue 238 about edit not having a possible error section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":3}}},{"hash":"742d655cc258e9017b403a52a9c46c74dbdb8408","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into userguide_fixes","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"21e7c3c3189529d82d36909ee4942cf66a93d87f","isMergeCommit":true,"messageTitle":"Merge pull request #245 from tengcharmaine/userguide_fixes","messageBody":"Userguide fixes","fileTypesAndContributionMap":{}},{"hash":"3f1702d0e2c6624a2684742eda748f903d3a8368","isMergeCommit":true,"messageTitle":"Merge pull request #254 from drustanyjt/drus-quick-tour","messageBody":"Add Quick Tour","fileTypesAndContributionMap":{}}]},{"date":"2024-04-14","commitResults":[{"hash":"86b7f786eda20d7222d640d6dd5b3ede1aa277c0","isMergeCommit":false,"messageTitle":"Edit requirements appendix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":128,"deletions":69}}},{"hash":"37500f2fc831825a1eb388b3e7cdc2102b8c0b27","isMergeCommit":false,"messageTitle":"Update appendix c with show command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":32,"deletions":10}}},{"hash":"0708105482eb5ccbef9cbaec4982baabe8483a9e","isMergeCommit":false,"messageTitle":"Add images to the quick tour section of the user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":14,"deletions":1}}},{"hash":"4451522f64c24cabe724c2d129a4a5c91e4ec448","isMergeCommit":false,"messageTitle":"Refactor commands that uses ic number","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":31,"deletions":25}}},{"hash":"6120473b1b06e1617437d31ee12df4ebe227ee47","isMergeCommit":false,"messageTitle":"Remove unused imports","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":15}}},{"hash":"df8bb7fb6ff473296e259a910cb5622eeab86d96","isMergeCommit":false,"messageTitle":"Resolve checkstyle error","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1}}},{"hash":"fa5ec37aa70f596051433e3e44d4b36f0af04fcd","isMergeCommit":false,"messageTitle":"Fix testcases and checkstyle errors","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":8,"deletions":2}}},{"hash":"b321b5c44020429451ac1bd493a504df4e9bd66b","isMergeCommit":false,"messageTitle":"Edit getpersonifexist method","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":23,"deletions":14},"test-code":{"insertions":4,"deletions":3}}},{"hash":"ae6dd1fb300b10554f6129d20580f1f5e7b8cee0","isMergeCommit":false,"messageTitle":"Update user guide with the addnote logic","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":12,"deletions":10}}},{"hash":"6d17229d1aef00d7c52d32d357dbae420ae6b1cb","isMergeCommit":false,"messageTitle":"Update addcommand activity diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":11}}},{"hash":"ed8a8ac12eae69298c95c5d42181822396f2e731","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into refactoricnumber","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"248db122d350a0f98d210fbffa375d878c396dbb","isMergeCommit":false,"messageTitle":"Update size of activity diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"4c3296cd4992096ab7db64984ce88b71912a10da","isMergeCommit":false,"messageTitle":"Update EditCommand.java","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"130ce3c698deb6f756afd157904e4fb8ddf24a9c","isMergeCommit":true,"messageTitle":"Merge pull request #267 from tengcharmaine/refactoricnumber","messageBody":"Refactoricnumber","fileTypesAndContributionMap":{}},{"hash":"3a33b712d7030b44c0b86dccf8372747b7c9bdf9","isMergeCommit":false,"messageTitle":"Update activity diagram for addnote","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":9}}},{"hash":"92dc9eb6272c71617ef1d6b0fbe4267153b6ff4a","isMergeCommit":false,"messageTitle":"Edit from comments and also update code reuse","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":30,"deletions":22}}},{"hash":"2c6fba950429f9306b49f077c3d62eda53a83da0","isMergeCommit":true,"messageTitle":"Merge pull request #265 from tengcharmaine/dgsection","messageBody":"DG appendix section and code reuse","fileTypesAndContributionMap":{}}]},{"date":"2024-04-15","commitResults":[{"hash":"6c15bc96cd9c511bd19924e3509e98adeeacc478","isMergeCommit":true,"messageTitle":"Merge pull request #274 from drustanyjt/drus-ug-final","messageBody":"Update UG During Review","fileTypesAndContributionMap":{}},{"hash":"0bc403fa81e6bb4d8526f1e98a00c91e6bbf06d6","isMergeCommit":true,"messageTitle":"Merge pull request #277 from drustanyjt/drus-dg-final","messageBody":"DG review","fileTypesAndContributionMap":{}},{"hash":"45523e6a5b8342484e0768510eeb51eadadd812b","isMergeCommit":true,"messageTitle":"Merge pull request #276 from Jayne1010/master","messageBody":"Fix images","tags":["v1.4","nightly-2024-04-22-45523e6","nightly-2024-04-21-45523e6","nightly-2024-04-20-45523e6","nightly-2024-04-19-45523e6","nightly-2024-04-18-45523e6","nightly-2024-04-17-45523e6","nightly-2024-04-16-45523e6","nightly-2024-04-15-45523e6","nightly-2024-04-14-45523e6"],"fileTypesAndContributionMap":{}}]}],"jiahui0309":[{"date":"2024-03-03","commitResults":[{"hash":"be650b34b7753172421b5ac7dc1b96999429bb1c","isMergeCommit":false,"messageTitle":"Update About Us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":29}}},{"hash":"d7d233883734a9e0bcc21f4991fc8f820a6ba874","isMergeCommit":false,"messageTitle":"Update About Us from feedbacks","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":4}}},{"hash":"c363de2811d3fd0a4d3110b9047eee86e9232c22","isMergeCommit":true,"messageTitle":"Merge pull request #19 from jiahui0309/update-about-us","messageBody":"Update About Us","fileTypesAndContributionMap":{}}]},{"date":"2024-03-04","commitResults":[{"hash":"9a969a3bb60e72dcfaf0bc6d755408e91f78fe54","isMergeCommit":false,"messageTitle":"Update DG usecase","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":97,"deletions":2}}}]},{"date":"2024-03-05","commitResults":[{"hash":"f06e933edb533409ab4cce2c551b975a0b604bd2","isMergeCommit":false,"messageTitle":"Update DG usecase from comments","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":20,"deletions":20}}},{"hash":"f2831f7e8d61abdedfb24b7ebd72b5e7fcafd917","isMergeCommit":true,"messageTitle":"Merge pull request #29 from drustanyjt/docs-dg-glossary","messageBody":"Add medical terms in meeting notes to glossary","fileTypesAndContributionMap":{}},{"hash":"4e8320caaaf9ba28f09b91f32975fa292a0f96af","isMergeCommit":true,"messageTitle":"Merge pull request #28 from jiahui0309/update-dg-usecase","messageBody":"Update DG usecase","fileTypesAndContributionMap":{}}]},{"date":"2024-03-06","commitResults":[{"hash":"548133f9d747a41caa2218591dfc1e381a2f0f60","isMergeCommit":true,"messageTitle":"Merge pull request #33 from tengcharmaine/updateug","messageBody":"Update Quick Start section of UG","fileTypesAndContributionMap":{}},{"hash":"0d6da5c29394a526908e9fd2124d6549f57cec53","isMergeCommit":true,"messageTitle":"Merge pull request #34 from drustanyjt/docs-dg-product-scope","messageBody":"Update DeveloperGuide.md","fileTypesAndContributionMap":{}},{"hash":"8a80e337ed28e10568b9606abb2173afa58cc921","isMergeCommit":false,"messageTitle":"Update index.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":4}}},{"hash":"f2ec7ddff937a906bc2e2a0d7a00bc620db97ef3","isMergeCommit":true,"messageTitle":"Merge pull request #35 from jiahui0309/update-index","messageBody":"Update index.md","fileTypesAndContributionMap":{}}]},{"date":"2024-03-16","commitResults":[{"hash":"dfcbf36c65d5d96d25471da99407015f2221593a","isMergeCommit":true,"messageTitle":"Merge pull request #44 from drustanyjt/drus-update-person","messageBody":"Update Person Class","fileTypesAndContributionMap":{}},{"hash":"0813c1753e3f735d66fefa81ab4bd0698af2c3a6","isMergeCommit":false,"messageTitle":"Update Find command to search with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":61,"deletions":17},"test-code":{"insertions":49,"deletions":42}}},{"hash":"53dac0a58990075939d2d93e04d7670b08f9eac6","isMergeCommit":false,"messageTitle":"Update PaserUtil to add parseIC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":18,"deletions":2},"test-code":{"insertions":3,"deletions":5}}},{"hash":"14de81967ef0fed342a542d525affb138668a6c0","isMergeCommit":true,"messageTitle":"Merge pull request #46 from jiahui0309/update-find-command","messageBody":"Update Find command to search using Person\u0027s IC","fileTypesAndContributionMap":{}},{"hash":"69940f556a45d2f7d548345fbbc9ee34cead237c","isMergeCommit":false,"messageTitle":"Update Delete Command to delete with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":19,"deletions":17},"test-code":{"insertions":40,"deletions":38}}},{"hash":"e093fa404c24f17eeb13a8d96fa7c95313884e96","isMergeCommit":false,"messageTitle":"Update Delete Command class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":2}}}]},{"date":"2024-03-18","commitResults":[{"hash":"7671661bb0df09ac3c55aa9c381db3cc8d8fbd05","isMergeCommit":false,"messageTitle":"Fix bugs in IdentityCardNumber class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":4,"deletions":3}}},{"hash":"60acb0663c3d3e2de1d454c6a776b59bdbd10ede","isMergeCommit":false,"messageTitle":"Fix checkstyle comments","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2},"test-code":{"insertions":6,"deletions":21}}},{"hash":"541832906428e5254fbfdb0c8c44e7083e5b103c","isMergeCommit":true,"messageTitle":"Merge pull request #61 from jiahui0309/review-find-delete-commands","messageBody":"Fix bugs in IdentityCardNumber class","fileTypesAndContributionMap":{}},{"hash":"bed5d5d7d44d0f92a26211c8530e815482c3fcc6","isMergeCommit":true,"messageTitle":"Merge pull request #60 from tengcharmaine/bugfixes","messageBody":"Bugfixes for addnote command","tags":["v1.2"],"fileTypesAndContributionMap":{}}]},{"date":"2024-03-20","commitResults":[{"hash":"a018971dde606dce262bf8ae51a44b3286f25228","isMergeCommit":false,"messageTitle":"Add UML diagram for find and delete commands","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":74,"deletions":4}}},{"hash":"81b904c26bf50c64bba80aa609cd3daf08f91aaa","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"9f248ee44c792ab821a8785acc01b629531bb032","isMergeCommit":true,"messageTitle":"Merge pull request #83 from tengcharmaine/addnotetest","messageBody":"Add test cases for addnotecommand class","fileTypesAndContributionMap":{}}]},{"date":"2024-03-22","commitResults":[{"hash":"9275e1387489506d5cc140df44402a9d7f81e97e","isMergeCommit":true,"messageTitle":"Merge pull request #107 from tengcharmaine/improvenotesui","messageBody":"Create split screen to display patient information","fileTypesAndContributionMap":{}}]},{"date":"2024-03-23","commitResults":[{"hash":"2595550c9fdd52be07b388f1546750a6e51ce51d","isMergeCommit":false,"messageTitle":"Edit UI features of ClinicMate","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":381,"deletions":10}}},{"hash":"30e7cb0f2c53c07e06224d4dac6592d4632070a9","isMergeCommit":false,"messageTitle":"Increase UI font size for better readability","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":16,"deletions":15}}},{"hash":"73099e8a7d84cbf8f87eda7b4f6e8d605d6a589a","isMergeCommit":false,"messageTitle":"Add testcases for UiManagerTest","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":50,"deletions":0}}},{"hash":"6cf7d891d0c48fd9588b49ae4ba53c42335d9380","isMergeCommit":false,"messageTitle":"Remove unsupported testcase","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":0,"deletions":7}}},{"hash":"a0f8cb7b12f9557f07bde057a1e373838faa21ce","isMergeCommit":false,"messageTitle":"Remove UiManagerTest class","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":0,"deletions":43}}}]},{"date":"2024-03-24","commitResults":[{"hash":"51ad8c7e99813382f98f50dddf3f6177be90636f","isMergeCommit":false,"messageTitle":"Increase result box size","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}},{"hash":"a067fc17a70f7b836963728d0ee55dde1a5c943a","isMergeCommit":true,"messageTitle":"Merge pull request #111 from AY2324S2-CS2103T-F14-2/drustanyjt-patch-2","messageBody":"Update build-and-prerelease.yml","fileTypesAndContributionMap":{}}]},{"date":"2024-03-25","commitResults":[{"hash":"c401cfbf8813236f858eb5ce704366ea7ad26755","isMergeCommit":false,"messageTitle":"Fix UI bugs","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":0}}},{"hash":"6796bfd3ab92cbd768d8e2a7c8726cffc1d2f120","isMergeCommit":true,"messageTitle":"Merge pull request #117 from jiahui0309/fix-ui-bugs","messageBody":"Fix UI bugs","fileTypesAndContributionMap":{}},{"hash":"6650659c35ab136cbce04d61c6d82d288e0c8ccc","isMergeCommit":false,"messageTitle":"Update UserGuide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":46,"deletions":25}}}]},{"date":"2024-03-26","commitResults":[{"hash":"d2aca556e109382f7dc74a3b90166877bf2d025a","isMergeCommit":true,"messageTitle":"Merge pull request #120 from tengcharmaine/update_DG","messageBody":"Update dg","fileTypesAndContributionMap":{}},{"hash":"627ce3ff840a6f8c49cd7b3c99862f0ae77cdda4","isMergeCommit":false,"messageTitle":"Update User Guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":30,"deletions":9}}},{"hash":"57d307021cef7d7cda305689f775e73434c0afa0","isMergeCommit":true,"messageTitle":"Merge pull request #122 from jiahui0309/edit-ug","messageBody":"Update User Guide","fileTypesAndContributionMap":{}}]},{"date":"2024-03-28","commitResults":[{"hash":"0d441915f32d6e041a581367eb9cde9d48cfec70","isMergeCommit":true,"messageTitle":"Merge pull request #130 from Jayne1010/NoteWindowUI","messageBody":"Update UI for note window","fileTypesAndContributionMap":{}}]},{"date":"2024-03-29","commitResults":[{"hash":"1139f09b2de424bf9ad6cbe0e325bab0ff8c62c1","isMergeCommit":false,"messageTitle":"Fix UI bugs for FindCommand","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":26,"deletions":0}}},{"hash":"77d6fcf7ec293d4063e0edf275133e5de9b4a152","isMergeCommit":false,"messageTitle":"Add test cases","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":1},"test-code":{"insertions":64,"deletions":0}}}]},{"date":"2024-04-04","commitResults":[{"hash":"1bdfb6bb194b5937075810d8d3b9e024b81c4975","isMergeCommit":false,"messageTitle":"Refactor prefix symbols","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":14,"deletions":13}}},{"hash":"56f1b3e4900ae74a92b4b81b4061ef1449a8d19a","isMergeCommit":true,"messageTitle":"Merge pull request #147 from jiahui0309/change_prefix_symbols","messageBody":"Refactor prefix symbols","tags":["nightly-2024-04-04-56f1b3e"],"fileTypesAndContributionMap":{}},{"hash":"5e122cf2145dbad59cf42073aaa41981dcf8552e","isMergeCommit":false,"messageTitle":"Edit UserGuide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":24,"deletions":18}}},{"hash":"d3482fd51b983cbd50b6ab67bbda71e198ef4b16","isMergeCommit":true,"messageTitle":"Merge pull request #151 from tengcharmaine/bug_fixesfor1.3","messageBody":"Fix ui display of personcard contents","fileTypesAndContributionMap":{}},{"hash":"cb65d40a2ffb6e8e13fae09b5c872bb6c6899df2","isMergeCommit":false,"messageTitle":"Edit UserGuide Appendix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}}]},{"date":"2024-04-06","commitResults":[{"hash":"152c3beb9b6b34b73699afbee463fba3b0ca2bac","isMergeCommit":false,"messageTitle":"Edit User Guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":49,"deletions":8}}}]},{"date":"2024-04-07","commitResults":[{"hash":"476e23833ec7df22f920f6dd960bfb945aef009a","isMergeCommit":false,"messageTitle":"Edit User Guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":13}}}]},{"date":"2024-04-08","commitResults":[{"hash":"82ea1e3ed4979dcbc87f879bccdd6a860a9295c4","isMergeCommit":false,"messageTitle":"Edit User GUide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":76,"deletions":1}}}]},{"date":"2024-04-10","commitResults":[{"hash":"b8d9c9c931570edaee6cf4eec1c4fcd51af6004d","isMergeCommit":false,"messageTitle":"Fix PE bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":48,"deletions":22}}},{"hash":"4974803d8a06620fe905540af577a370dcd00a7d","isMergeCommit":true,"messageTitle":"Merge pull request #219 from jiahui0309/fix-pe-bugs","messageBody":"Fix PE bugs","fileTypesAndContributionMap":{}},{"hash":"f3d47f522b486f5d4f9253fc2fb1b56cd3a58d82","isMergeCommit":true,"messageTitle":"Merge pull request #159 from drustanyjt/drus-ug-bug","messageBody":"Add optional braces for edit command","tags":["nightly-2024-04-11-f3d47f5","nightly-2024-04-10-f3d47f5"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-12","commitResults":[{"hash":"bbdb435690fdf7139e050cef77a5e9ed50b819bd","isMergeCommit":false,"messageTitle":"Edit user guide together","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":161,"deletions":187}}},{"hash":"73f6641b962127f922a05aec746b529b862e0816","isMergeCommit":false,"messageTitle":"Fix grammar error","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"07b6a900886f0bc7f1bf70277df46f0311b1fac6","isMergeCommit":false,"messageTitle":"Fix minor documentation bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}}]},{"date":"2024-04-13","commitResults":[{"hash":"3a47a51d9ff69c92995cec9e3945864eeae52419","isMergeCommit":false,"messageTitle":"Add User Guide images","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"0a53b947952e92ff61ec9c99d65998d62c841069","isMergeCommit":true,"messageTitle":"Merge pull request #246 from jiahui0309/add-ug-images","messageBody":"Add User Guide images","fileTypesAndContributionMap":{}},{"hash":"786e5b1bb7120b959b18a4a9ba6f64e0017ab03c","isMergeCommit":true,"messageTitle":"Merge pull request #247 from drustanyjt/drus-fix-logs","messageBody":"Change log messages that use AddressBook to ClinicMate","fileTypesAndContributionMap":{}},{"hash":"1512cdcb1959f7e0a8b41a56ec5953a53f3b9edc","isMergeCommit":false,"messageTitle":"Edit Developer Guide Design section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":26,"deletions":12}}},{"hash":"93ebfee712ab8ce869f80da9fd21d44c5fc0c4ef","isMergeCommit":false,"messageTitle":"Edit Developer Guide Design section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":3}}},{"hash":"692b7690076024760912c3361b3631146e2ffdf8","isMergeCommit":false,"messageTitle":"Edit Developer Guide Design section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"6248ee53ff4228baaaef2232089196eaef1a81e1","isMergeCommit":false,"messageTitle":"Edit DG Model Class Diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-14","commitResults":[{"hash":"6e465dd4e1da87b50e08002ae6b8483da2f5069e","isMergeCommit":false,"messageTitle":"Edit DG Model Class Diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"1831e2cd89c080573f50148160836619a16fbd31","isMergeCommit":false,"messageTitle":"Fix DG features sequence diagrams","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":127,"deletions":24}}},{"hash":"c69c1462b504d26222357b57aef51e837c5dd787","isMergeCommit":false,"messageTitle":"Add logging implementation","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":54,"deletions":2}}},{"hash":"7ea06524f6615d80392005d1f2597597b47d266d","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":22,"deletions":21}}},{"hash":"ced3063072fe8d4ec70e4d341b0cfad07b6cfd62","isMergeCommit":false,"messageTitle":"Update add, addnote, find commands in DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":50,"deletions":25}}},{"hash":"4f4e07aa9328457f8e67d72cadab9783067aef33","isMergeCommit":false,"messageTitle":"Update DG sequence diagrams","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":52,"deletions":23}}},{"hash":"2076f84059bd1275acf227be113e457d45480b1c","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into edit-dg-implementation","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"0220e31a5e97368c406eb2257d27d5640f6ee79a","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"c52bd388860fd51985b3018e5b74e97ebc577e89","isMergeCommit":false,"messageTitle":"Fix typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":9}}},{"hash":"82a75cf89c08080d0dca3aeef14f4dd679c6f1a6","isMergeCommit":false,"messageTitle":"Fix missing details","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"846bc509dd084b85e31d3b95ca4f811fd6103c0a","isMergeCommit":false,"messageTitle":"Fix Addnote and delete sequence diagrams","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":22,"deletions":3}}},{"hash":"7e78654d9a10027b5e7bde36eb178274c59de9b1","isMergeCommit":false,"messageTitle":"Edit DG comments","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":3}}},{"hash":"a16d989a80bcb030147c9ad8c95d48f669efa74d","isMergeCommit":true,"messageTitle":"Merge pull request #260 from jiahui0309/edit-dg-implementation","messageBody":"Fix DG features sequence diagrams","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"drustanyjt":{"docs":331,"functional-code":741,"test-code":697,"other":162},"Jayne1010":{"docs":735,"functional-code":304,"test-code":305},"tengcharmaine":{"docs":689,"functional-code":258,"test-code":191,"other":4},"jiahui0309":{"docs":654,"functional-code":549,"test-code":149}},"authorContributionVariance":{"drustanyjt":134425.56,"Jayne1010":15368.0625,"tengcharmaine":26138.387,"jiahui0309":12318.746},"authorDisplayNameMap":{"drustanyjt":"CS2103T-F14-2 YEO ..STAN","Jayne1010":"CS2103T-F14-2 CHEN..AYNE","tengcharmaine":"CS2103T-F14-2 TENG..AINE","jiahui0309":"CS2103T-F14-2 SONG.. HUI"}} +{"authorDailyContributionsMap":{"drustanyjt":[{"date":"2024-03-03","commitResults":[{"hash":"e054773e7feb575fd00e7ac063510ae83d2c94d1","isMergeCommit":false,"messageTitle":"Update sitewide settings with product name and new logo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":0}}},{"hash":"6b2d0514ccfe445f72ff94a09eff0e80b023a14c","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into docs-sitewide-settings","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"3da4848193c31724810f138e9ca4ecc699b5622c","isMergeCommit":true,"messageTitle":"Merge pull request #20 from drustanyjt/docs-sitewide-settings","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-03-04","commitResults":[{"hash":"863ee95c9fdb7c1212b802c562b4d0c47b9c75d0","isMergeCommit":false,"messageTitle":"Add medical terms in meeting notes to glossary","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":2}}},{"hash":"8490e739aea7f07a72a320c62382da7316e982d5","isMergeCommit":false,"messageTitle":"Fix whitespace errors","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}}]},{"date":"2024-03-05","commitResults":[{"hash":"3936397f7fb177dbeb1099057ef0dd76c36f00de","isMergeCommit":false,"messageTitle":"Update DeveloperGuide.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}}]},{"date":"2024-03-06","commitResults":[{"hash":"467d54beba603f8ee15c03f015b90ec4eadc35fa","isMergeCommit":false,"messageTitle":"Update DeveloperGuide.md","messageBody":"Added value proposition and user profile.","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":3}}}]},{"date":"2024-03-15","commitResults":[{"hash":"9b3c1bc527279a3dbc61d1fbc343e5f74c11dd4a","isMergeCommit":false,"messageTitle":"Update models to support new Person fields","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":306,"deletions":11}}}]},{"date":"2024-03-16","commitResults":[{"hash":"d6df9b2962221f3fc13fce1a89e015fe9b593b6f","isMergeCommit":false,"messageTitle":"Fix support for using the new Person constructor","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":134,"deletions":39},"test-code":{"insertions":164,"deletions":42}}},{"hash":"90a1a5e75fde24f143b3b5378ff6a59ec1d4df26","isMergeCommit":false,"messageTitle":"Fix line formatting issues","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":283,"deletions":283}}},{"hash":"9348f3b6d45023bb0d5cf0204d918548c6d78c75","isMergeCommit":false,"messageTitle":"Fix line too long for checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"6ff0db7e1787cf29bb66f08f7113ec6e9d112e87","isMergeCommit":false,"messageTitle":"Add test coverage for new Person fields","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"test-code":{"insertions":548,"deletions":228}}},{"hash":"5b7b1918e150a30060cc1fe87d8c58b9dc9bb2b5","isMergeCommit":false,"messageTitle":"Replace CRLF with LF","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":325,"deletions":325}}},{"hash":"fe3baa9236e2f4c21a40ff41e1f311acab6e8b14","isMergeCommit":false,"messageTitle":"Fix message not showing some fields from a Person","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":15,"deletions":5}}}]},{"date":"2024-03-18","commitResults":[{"hash":"216b72757c6dbcaa6cfc41e8d1bb475a09e7a1ec","isMergeCommit":false,"messageTitle":"Update icon in UI","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3},"test-code":{"insertions":1,"deletions":1}}},{"hash":"bc2abd9ebf106d1d87120297ec67a2c3e8293ba7","isMergeCommit":false,"messageTitle":"Re-rename test file","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"72967a3b3fb6f77f78149a53deed55cb81f147da","isMergeCommit":false,"messageTitle":"Change some references of addresbook to clinicmate","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"other":{"insertions":72,"deletions":72},"docs":{"insertions":2,"deletions":2},"test-code":{"insertions":1,"deletions":1}}},{"hash":"e5e24fef6a2c63a6653d9ead7718f20300c32860","isMergeCommit":false,"messageTitle":"Add release workflows and update depreceated actions","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":178,"deletions":45}}},{"hash":"3535c1d1efb981a6b7206f4fb6118b7aba668bc7","isMergeCommit":false,"messageTitle":"Change CRLF to LF","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":119,"deletions":119}}}]},{"date":"2024-03-19","commitResults":[{"hash":"a3fd086dc37a1c7fbcfc25baa770d83a9b894458","isMergeCommit":true,"messageTitle":"Merge pull request #63 from drustanyjt/fix-phonetest","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-03-20","commitResults":[{"hash":"26394e6a65ca6108a4efd408c5c6275b828eb252","isMergeCommit":true,"messageTitle":"Merge pull request #66 from Jayne1010/UpdateUGv1.2b","messageBody":"Update user guide for features v1.2b","fileTypesAndContributionMap":{}},{"hash":"29f201eb54951eeb0b7433e806d5398802bdffb7","isMergeCommit":false,"messageTitle":"Add new attribute classes and remove references to Tag","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":19,"deletions":8}}},{"hash":"5bb0e9d0ccbd06c8dc55515d6a63f660f22b50d0","isMergeCommit":false,"messageTitle":"Revert \"Update Edit Command to edit with Person\u0027s IC\"","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":32,"deletions":88},"docs":{"insertions":1,"deletions":0}}},{"hash":"10df923a08f07ec97ba9a32fb1a7515d1a3f5de5","isMergeCommit":true,"messageTitle":"Merge pull request #80 from AY2324S2-CS2103T-F14-2/revert-65-UpdateEditCommandv1.2b","messageBody":"Revert \"Update Edit Command to edit with Person\u0027s IC\"","fileTypesAndContributionMap":{}},{"hash":"6a60a3534f224dc2f6658dcb68d2e276c29bb2a1","isMergeCommit":false,"messageTitle":"Update workflows","messageBody":"Removed `body_path`","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"1dc703033a144716317b1638ac0a083f7802a0c0","isMergeCommit":false,"messageTitle":"Update build-and-prerelease.yml","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"1683a2f75df8157a3b1cec915e040374572fcf1c","isMergeCommit":true,"messageTitle":"Merge pull request #81 from drustanyjt/drustanyjt-patch-1","messageBody":"Fix typo in workflow files","fileTypesAndContributionMap":{}},{"hash":"fb9c3c5381e9ecc061196a2a83664127ac040ae8","isMergeCommit":false,"messageTitle":"Update build-and-prerelease.yml","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":2,"deletions":3}}},{"hash":"e38345b1184de88826da2b88bb491a96341fedee","isMergeCommit":true,"messageTitle":"Merge pull request #85 from AY2324S2-CS2103T-F14-2/drustanyjt-patch-1","messageBody":"Fix typo in pre-release names","fileTypesAndContributionMap":{}},{"hash":"e53d42cb9636c21071a91e61bdb0934b663ee733","isMergeCommit":false,"messageTitle":"Add google form link and update release link","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":1}}},{"hash":"4de861628d8e885464367a820e2f607580dae3a9","isMergeCommit":true,"messageTitle":"Merge pull request #88 from drustanyjt/drus-gform","messageBody":"Add google form link and update release link","fileTypesAndContributionMap":{}}]},{"date":"2024-03-21","commitResults":[{"hash":"d579361ce799668289ca6390a2e5f621d264ff59","isMergeCommit":true,"messageTitle":"Merge pull request #89 from tengcharmaine/sex_field_bug","messageBody":"","tags":["v1.2b"],"fileTypesAndContributionMap":{}}]},{"date":"2024-03-22","commitResults":[{"hash":"33ccf1040274465a973c6809afb5e589bbe2b6bd","isMergeCommit":false,"messageTitle":"Change sample data to have no tags","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":27,"deletions":22},"test-code":{"insertions":29,"deletions":0}}}]},{"date":"2024-03-24","commitResults":[{"hash":"231c85c1eb767e64578d59230577cff955267a17","isMergeCommit":false,"messageTitle":"Update build-and-prerelease.yml","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":3,"deletions":1}}}]},{"date":"2024-03-26","commitResults":[{"hash":"9e3ec3d0daac6e6c96b6f2004a5fd7ba2fa3907b","isMergeCommit":false,"messageTitle":"Add notes panel to view patient notes","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":147,"deletions":2},"test-code":{"insertions":63,"deletions":3}}},{"hash":"ae41ab846f2d8cfecd0621037ce8e90fdc138593","isMergeCommit":false,"messageTitle":"Fix format issues","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":3,"deletions":2}}},{"hash":"fdccfa082017fbcdb4d0ff3538251ed889ca74ee","isMergeCommit":true,"messageTitle":"Merge pull request #121 from drustanyjt/drus-find-previews-note","messageBody":"Adds a panel for displaying notes","fileTypesAndContributionMap":{}}]},{"date":"2024-03-28","commitResults":[{"hash":"985092cc596c919b00ad0e8da4f953d36f981505","isMergeCommit":false,"messageTitle":"Change pre release to be done nightly","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":13,"deletions":9}}},{"hash":"7865dd98d2cd3c31b47a18dad8e99fade712b8a5","isMergeCommit":true,"messageTitle":"Merge pull request #135 from tengcharmaine/build_gradle","messageBody":"Update build.gradle file to enable assertions","fileTypesAndContributionMap":{}},{"hash":"68a8cd23e3f708da4b4f587c963c3470f243ea3d","isMergeCommit":true,"messageTitle":"Merge pull request #136 from drustanyjt/drus-nightly-releases","messageBody":"Change pre release to be done nightly","tags":["v1.3","nightly-2024-04-03-68a8cd2","nightly-2024-04-02-68a8cd2","nightly-2024-04-01-68a8cd2","nightly-2024-03-31-68a8cd2","nightly-2024-03-30-68a8cd2","nightly-2024-03-29-68a8cd2","nightly-2024-03-28-68a8cd2"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-03","commitResults":[{"hash":"483defe7f34ece38b64ab567f73a3b47ca5f4392","isMergeCommit":false,"messageTitle":"Move tracking of display person to model","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":37,"deletions":32},"test-code":{"insertions":1,"deletions":14}}},{"hash":"79eb85d8b9e0279dae79163be6b277233685cf7a","isMergeCommit":false,"messageTitle":"Add Show command to update/clear display note panel","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":138,"deletions":1}}},{"hash":"f8d616a74479904e3798ebbb5e4e5bbae260b893","isMergeCommit":false,"messageTitle":"Add Show command test cases","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":19,"deletions":0},"test-code":{"insertions":147,"deletions":0}}},{"hash":"c0fd8c614ff474be5d65e195c5960d7691136a48","isMergeCommit":false,"messageTitle":"Update ShowCommand usage message","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3}}},{"hash":"839e802e7cb48b7facff819f49239727a94c24a2","isMergeCommit":true,"messageTitle":"Merge pull request #137 from jiahui0309/fix-find-command-bugs","messageBody":"Fix UI bugs for FindCommand","tags":["nightly-2024-04-03-839e802"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-04","commitResults":[{"hash":"81247dba469004c3721d389ac2e6cba9ec9ab039","isMergeCommit":false,"messageTitle":"Remove tags from serialized Person","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":14,"deletions":32},"test-code":{"insertions":16,"deletions":43}}},{"hash":"51067bc83e35af040ad4b72fa35f94e8f44697ed","isMergeCommit":false,"messageTitle":"Fix checkstyle issue","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"102672f47ec448ab9542e78ed8d0c9e3ad37414e","isMergeCommit":false,"messageTitle":"Add Show command to UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":29,"deletions":0}}},{"hash":"ed5fde422a97746bef03cf70ee30cc7f07f7584e","isMergeCommit":false,"messageTitle":"Remove upstream trail","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":2}}},{"hash":"161cc344c4cf2c36c38d1a79b46812bc9a09c8f7","isMergeCommit":false,"messageTitle":"Remove trailing stash","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"ae1a2b50b55a1294d09a9b907d1c3651ff78c5b7","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into drus-remove-ab-files","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b18f11a4814606e3d776e258b9a0bff9816db6db","isMergeCommit":true,"messageTitle":"Merge pull request #152 from drustanyjt/drus-remove-ab-files","messageBody":"Prevent malicious manual updating of save file","fileTypesAndContributionMap":{}},{"hash":"6b8fe06e578a7be0b0634c470c527212aaae5bfc","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into drus-ug-show","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"4ab3b6401837a345da443109f77de310dc41c714","isMergeCommit":true,"messageTitle":"Merge pull request #155 from drustanyjt/drus-ug-show","messageBody":"Add Show command to UG","tags":["nightly-2024-04-04-4ab3b64"],"fileTypesAndContributionMap":{}},{"hash":"e899a4bd749d0e8c51e8f2b33f3e1e040563e5f8","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into ErrorSpecificity","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"545e8ac56510b56e7bf8d4fd852a10462564fe10","isMergeCommit":false,"messageTitle":"Add corresponding unit tests","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":8,"deletions":7}}},{"hash":"9978a665c14affc51db96fbdd74a4b0ba329abc0","isMergeCommit":false,"messageTitle":"Make typographical fixes","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":2}}},{"hash":"778025185d9dedda4d8c404d6b600db5c57089df","isMergeCommit":true,"messageTitle":"Merge pull request #157 from drustanyjt/drus-ug-bugs","messageBody":"Make typographical fixes","fileTypesAndContributionMap":{}},{"hash":"f44b9d5883dc5dc1b2b0f329b20a57cc9b0d4f31","isMergeCommit":false,"messageTitle":"Add edit to UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":2}}},{"hash":"99f0620124bdafb200227083b27485cb0480e77a","isMergeCommit":true,"messageTitle":"Merge branch \u0027AY2324S2-CS2103T-F14-2:master\u0027 into drus-ug-bugs","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a834977ddebdf93898700b4ef755632ea5583802","isMergeCommit":true,"messageTitle":"Merge pull request #158 from drustanyjt/drus-ug-bugs","messageBody":"Add Edit to UG","tags":["v1.3b","nightly-2024-04-11-a834977","nightly-2024-04-10-a834977","nightly-2024-04-09-a834977","nightly-2024-04-08-a834977","nightly-2024-04-07-a834977","nightly-2024-04-06-a834977","nightly-2024-04-05-a834977"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-05","commitResults":[{"hash":"a27c139bb2c5d65e396054228aade8458d223e95","isMergeCommit":false,"messageTitle":"Add optional braces for edit command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-12","commitResults":[{"hash":"6a8c4b7567693dc3d125c15a605151e4395cd65a","isMergeCommit":false,"messageTitle":"Fix typo in addnote error log","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}},{"hash":"4745bef190cc868a828ffa4a0e79b8a78dcca729","isMergeCommit":false,"messageTitle":"Fix minor UG bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":32,"deletions":13}}},{"hash":"c556e1ec113daba8a7bf33c6e5aed7ab848e43b1","isMergeCommit":false,"messageTitle":"Add UG fixes","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":10}}},{"hash":"9314214fc99326de994d729356e6b4e841c7187b","isMergeCommit":false,"messageTitle":"Add more UG fixes","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":4}}},{"hash":"fff7af74396dbc6be453e39d794fbb10c340a039","isMergeCommit":false,"messageTitle":"Fix typo in UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-13","commitResults":[{"hash":"51ede9fccdd6ede5e3f7703738f523bbf5f0dca8","isMergeCommit":false,"messageTitle":"Change log messages that use AddressBook to ClinicMate","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":5}}},{"hash":"08ba85a3749866f696bf4ef0f9c93b231791ea31","isMergeCommit":false,"messageTitle":"Change uses of address book in user messages","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":8}}},{"hash":"63137072ec2282a569a3e2a4f42502dd2ea57c45","isMergeCommit":false,"messageTitle":"Fix grammar in some logs","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":2}}},{"hash":"41430665f13ed70ee6f01accac1de6a86aec55c1","isMergeCommit":false,"messageTitle":"Fix addnote hyperlink","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"f4318585800929a8ab04a0220b46e135d906b082","isMergeCommit":false,"messageTitle":"Fix wrong badges on home page","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":4}}},{"hash":"3e6506ed25e9c465bc974d56f70f44db8e3b8843","isMergeCommit":true,"messageTitle":"Merge pull request #251 from drustanyjt/drus-fix-addnote-link","messageBody":"Fix addnote hyperlink","fileTypesAndContributionMap":{}},{"hash":"5b2911701fb4ef186dcd6f84b0b44faaf0312e23","isMergeCommit":false,"messageTitle":"Add skeletal experience section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":0}}},{"hash":"aee94b65c12541a47c2c9e04df296a518a4bf51a","isMergeCommit":false,"messageTitle":"Add quick links to return to top","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":186,"deletions":170},"docs":{"insertions":50,"deletions":0}}},{"hash":"00aa9556cc131a5d2e22ed2ecf76916a94cab84a","isMergeCommit":false,"messageTitle":"Hide table of contents in navigation panel","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":8,"deletions":0}}},{"hash":"eeee9ee6fa541fc33e646edf433bb91fca8e6cc1","isMergeCommit":false,"messageTitle":"Fix CRLF error","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":194,"deletions":194}}},{"hash":"1b53fdf87e1328ebb087ac0a04139e50342e3568","isMergeCommit":false,"messageTitle":"Fix small typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"763a4ab0ef44b181db37486b00ed8de96795ca6c","isMergeCommit":true,"messageTitle":"Merge pull request #252 from drustanyjt/drus-update-homepage","messageBody":"Update Home Page","fileTypesAndContributionMap":{}},{"hash":"fd52c485ef87506e2e175b87d7b7d36fbedd9212","isMergeCommit":true,"messageTitle":"Merge pull request #250 from drustanyjt/drus-experience-section","messageBody":"Familiarity sections and some quick links","fileTypesAndContributionMap":{}},{"hash":"b08a36b7c04a082de9b6727b0cd2379465254ce5","isMergeCommit":true,"messageTitle":"Merge pull request #249 from drustanyjt/drus-update-msgs","messageBody":"Change uses of address book in user messages","tags":["nightly-2024-04-13-b08a36b"],"fileTypesAndContributionMap":{}},{"hash":"735e8be93a6578af3ceb9cbdca312f0c1928bad7","isMergeCommit":false,"messageTitle":"Add Quick Tour","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":87,"deletions":0}}},{"hash":"f0c2d1b645ef99734847e814f0fc763b8d2c35a3","isMergeCommit":false,"messageTitle":"Update url for quick tour","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"072a930022290ef5990a4338d8c4c4f13831f055","isMergeCommit":false,"messageTitle":"Note down use of space as note","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":3}}},{"hash":"e31cd7ba66035f0c1de3dbfc65cb54fcbd7339fc","isMergeCommit":false,"messageTitle":"Fix grammatical issues","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":4}}},{"hash":"17db366b0e516b2a18838b3751ea84ef7d804a8c","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"37974acf4324c1475ad111bb3c5a14a6cdc31a47","isMergeCommit":false,"messageTitle":"Simplify expression","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"0caf22bd6238c8e09f954dba41b3af95f5a8c7b0","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-14","commitResults":[{"hash":"39f21046740cb47a35402abf7706cca8b065103c","isMergeCommit":false,"messageTitle":"Remove all uses of the Tag class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":24,"deletions":257},"test-code":{"insertions":18,"deletions":180}}},{"hash":"d1724b8772a0b65644ad2c0a1b60c2555ad8e991","isMergeCommit":false,"messageTitle":"Remove remnants of Tag parsing","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1},"test-code":{"insertions":9,"deletions":31}}},{"hash":"6b55ee6bd7d1986fb6bce3ec457c3309416782d9","isMergeCommit":true,"messageTitle":"Merge pull request #263 from drustanyjt/drus-remove-tag","messageBody":"Remove Instance of Tag","fileTypesAndContributionMap":{}},{"hash":"0dc78f65974a0383d557e341e34005e25802fa9c","isMergeCommit":false,"messageTitle":"Abstract display string to its own method","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":4}}},{"hash":"da189ed59c4d941b22391916e6c7990c4e43952e","isMergeCommit":false,"messageTitle":"Update heading levels","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":18,"deletions":18}}},{"hash":"5eb4f0ebe6d45bb79b8b4bf5f1812aa65ab92014","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"a1d421e2f4f78d0e1e64ddd46d18eec35448e2d5","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"e6cb6e8fc9939849f1c6b636a58f3f230ae18251","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"94cba3dde8581746ce44ed1f2ee5360b52ee426b","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"d513afc072903a54a3bd74df6a03182972da73f8","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"dc259480d0d17fb3165d62aa4f7ab678dec9d8ed","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"6d090d1a6814f982d645df2d5791ad44f2851136","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"6a3d7354d6c1b5cddfe31e2c45561137bf7dafc6","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"79af0937a7a7790461aadaecc9c5c90f094db485","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"8ed292e748f4d3e1a77cc052df9809aadd3f8dcb","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"74950450b82964c84327c25bbfb752eef7a81992","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-15","commitResults":[{"hash":"e9a922a465fab63c0159bce5bb910730944dbc4c","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"c9fe2e5d6b9ec1eeb368c517148f9cf6a6d23767","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"e3f92ea0008f6a2df6d62d1cecf1f427af9ef171","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"895b88ea150c521e14528874505f4a9a847f30a0","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"6f1a8e6f6cb1a468de1b4eb705e0e8af764b7345","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"a9edd6559715874d3e30ad93065e99de731c1332","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":3}}},{"hash":"83c4b5ddc49f207d45f77bca46b91035ebbe1daf","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"b79c774dd73b18fb74abd257bed43476b91995fb","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"18b9e98e287078747deee4b947de7358e3e58a74","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"5a370c6a22ad9c1afe751acb41da851e461a81f0","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"55890e228a9cf314bc3c2bb1f3d7ea2a5f10bb86","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":4}}},{"hash":"63c10450bb5491cdef7981bc37c8bbd6ab9c095d","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":13}}},{"hash":"4f13660fbcabbede60b40bae32192bdee8fe1b96","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"87e934cdfeb6d2d728e413f5ce152ea1844cf2fd","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":16,"deletions":17}}},{"hash":"4bfbb334006c47eeb09b49237b53f6444069f95a","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":48,"deletions":52}}},{"hash":"ade55c5722d09d24fceaf88d7d1480c67048d656","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":14,"deletions":14}}}]}],"Jayne1010":[{"date":"2024-03-05","commitResults":[{"hash":"5c3b512b4437b7dbc40a12f81d2a5f2c4043d612","isMergeCommit":false,"messageTitle":"Update user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":34,"deletions":58}}},{"hash":"474dc32baa8f98a1a8bcbf3df39a6e78e83f1d2d","isMergeCommit":false,"messageTitle":"Update UG with minor typo fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"8a95434394c4826dbd915f7d99bdb060ed2ea7aa","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"bccedcb53f202203ade98150652a325be001ba04","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"80c59a32e3f398301150979761ec4f763903e5f0","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"ae0360ebd33544f6c1b1b14bc94e972a998f48f5","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"25b35b33296660a59dfebfe6c7c75df99957da4f","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":34,"deletions":58}}},{"hash":"e6ef73be1f8c8973daa5432b782e0115a35d3945","isMergeCommit":false,"messageTitle":"Update DG v1.1","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":11,"deletions":9}}},{"hash":"8ef12faa0943d2dfcd686f934b30f37ee98b8ad4","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"a848745810b23913f65038b592963a9ba03b4d72","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"62eceedef59ac84b48a8dfdf17b5e857dfaf23b7","isMergeCommit":false,"messageTitle":"Update DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"90d19984cb50ddf3faa74ac2182f8724cf041efb","isMergeCommit":true,"messageTitle":"Merge pull request #26 from Jayne1010/Updated-DG-v1.1","messageBody":"Update dg v1.1","fileTypesAndContributionMap":{}},{"hash":"c9d0294eb50bbd3d051ef812fc30db401db1a632","isMergeCommit":false,"messageTitle":"Revert \"Update dg v1.1\"","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":67,"deletions":46}}},{"hash":"44d87616ec6b8d546d083f15578cb65e6fa586fb","isMergeCommit":true,"messageTitle":"Merge pull request #30 from AY2324S2-CS2103T-F14-2/revert-26-Updated-DG-v1.1","messageBody":"Revert \"Update dg v1.1\"","fileTypesAndContributionMap":{}},{"hash":"46d4d35070797256cbf1a01fb7a6bb5cb07954a2","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"349d3530bc407f12ef6316292df677f7da1ea3ed","isMergeCommit":false,"messageTitle":"Update UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-17","commitResults":[{"hash":"e7f6c808b940a0a5390acbc01033aeeeef77cbd9","isMergeCommit":false,"messageTitle":"Update Add Command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":82,"deletions":67},"other":{"insertions":1,"deletions":1},"test-code":{"insertions":9,"deletions":14}}},{"hash":"4a73cf3ede2e956c8dd997ab9bcb35674c40097e","isMergeCommit":false,"messageTitle":"Update Add Command to add more Person\u0027s parameters","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":18,"deletions":5}}},{"hash":"d9dd3a2450670ae972f69520634b5a7de98503ea","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":33,"deletions":7}}},{"hash":"1432dd9f55d45c5b22611d4b3ca6f29f48296dd4","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":17,"deletions":7}}},{"hash":"713b587907b03b5b815d55a9623da1419dcf9333","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":4,"deletions":2}}},{"hash":"116d1a441c736c1bd2b93c3a4cdbae8d8e1b740c","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":2}}},{"hash":"defb309d5fc0c8ce6a000cfd2426b4b1cbdc811e","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":29,"deletions":30},"test-code":{"insertions":14,"deletions":9}}},{"hash":"c06824bf8da1476b28ac4e629c59e8aa1a1d6bc0","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":2}}},{"hash":"f9a36cbb78b0a4e360cc66370dff542601aaebaa","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}},{"hash":"01efc05263cab20b8e01b9148cb39d063bc9922c","isMergeCommit":false,"messageTitle":"Fix style: General style improvements","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":16,"deletions":21}}},{"hash":"3aabcf15f4e2a9b3b52e6b38a298fa3cd7c30c68","isMergeCommit":true,"messageTitle":"Merge pull request #53 from Jayne1010/UpdateAdd1.2","messageBody":"Update add1.2","fileTypesAndContributionMap":{}}]},{"date":"2024-03-18","commitResults":[{"hash":"6e19572844da113e05ffb588e34fa8986d83104f","isMergeCommit":false,"messageTitle":"Update Edit Command to edit with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":83,"deletions":41}}},{"hash":"7e602cdfbb9e118ed4f78cb152db3b053fb0b452","isMergeCommit":false,"messageTitle":"Update Edit Command to edit with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":17,"deletions":3}}}]},{"date":"2024-03-19","commitResults":[{"hash":"fa2cba4fce2677a798273f4b31a22593ee22064f","isMergeCommit":false,"messageTitle":"Update user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":5}}},{"hash":"c54256525520c61e3a178a2a75087b06de7be70f","isMergeCommit":false,"messageTitle":"Update developer guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"a8d1265d5c930e30a8598939de94e196bc3ed4fc","isMergeCommit":false,"messageTitle":"Style enhancement","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"docs":{"insertions":0,"deletions":1}}}]},{"date":"2024-03-20","commitResults":[{"hash":"d4ba08a423ebafb5103291e7dad87f57d1b3a6ad","isMergeCommit":false,"messageTitle":"Add UML diagram for add command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":70,"deletions":0}}},{"hash":"2096e22eb9e1d39b661e12a03bd404cb16e1fc18","isMergeCommit":false,"messageTitle":"Add UML diagram for edit command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":70,"deletions":0}}},{"hash":"e154c8199b8561dc0be88a7ad488722f964d8148","isMergeCommit":false,"messageTitle":"Add test cases for add command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":89,"deletions":42}}},{"hash":"00246e93044baff1c2f670cb393064b8be17fc0c","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":51,"deletions":7}}},{"hash":"138e2e3044c031c6e6cf3427974de8da334181d9","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}},{"hash":"69621e5f881ea459ba0f0ab2a59fe5356bebfd32","isMergeCommit":true,"messageTitle":"Merge pull request #65 from Jayne1010/UpdateEditCommandv1.2b","messageBody":"Update Edit Command to edit with Person\u0027s IC","fileTypesAndContributionMap":{}}]},{"date":"2024-03-21","commitResults":[{"hash":"18a3fbc86cf62e6e07831ff854516d93aec18500","isMergeCommit":false,"messageTitle":"Update gradle.yml","messageBody":"Reverting workflow file to see if it solves compile issues.","fileTypesAndContributionMap":{"other":{"insertions":3,"deletions":4}}},{"hash":"4c97d2a44827ff30141e9ca40e4f17f45fbc6d9b","isMergeCommit":false,"messageTitle":"Update edit command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":60,"deletions":22}}},{"hash":"40c648e33a264ed3de5d524017377fa53ad236b5","isMergeCommit":false,"messageTitle":"Update edit command parser","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":29,"deletions":12}}},{"hash":"f385afd8123f50ad2220237d635356af7a304d62","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":113,"deletions":136}}},{"hash":"e18e604f267059d574e1410568c67e1e95d3afb3","isMergeCommit":false,"messageTitle":"Add new class","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":5,"deletions":0}}},{"hash":"f92949ae64248ea5d5d29a4aea6cb27b33fb156c","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":41,"deletions":1}}},{"hash":"eddc320fc5092d4eb83123feb73809aa2bf01566","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":16,"deletions":2}}},{"hash":"f8576e93b3e4a389cd1ff104b8534c9582a76505","isMergeCommit":false,"messageTitle":"Update edit command test","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":28,"deletions":7}}},{"hash":"3490671e09e40f99750307d2d0ec89943adad54f","isMergeCommit":false,"messageTitle":"Update edit command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":1}}},{"hash":"742dd0511add81875621f7342a7168fd1e40b292","isMergeCommit":false,"messageTitle":"Update edit command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-22","commitResults":[{"hash":"518a4d97cb1f0c4b05df5e4b8a6e1c7b98a5eda1","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}},{"hash":"76d48aac5243c5b628715cb72c1bb8d9baa4082d","isMergeCommit":true,"messageTitle":"Merge pull request #93 from Jayne1010/UpdateEditCommandTestv1.2b","messageBody":"Update edit command test","fileTypesAndContributionMap":{}},{"hash":"a62d3e45fd226189eba4c249086173ee4be4077e","isMergeCommit":true,"messageTitle":"Merge pull request #94 from drustanyjt/drus-update-sample","messageBody":"Remove tags from sample data","fileTypesAndContributionMap":{}}]},{"date":"2024-03-24","commitResults":[{"hash":"3b6e02fc6dfb09f0683750b46e190ef1691c76d3","isMergeCommit":false,"messageTitle":"Revise error message for commands and refine success message formatting","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":68,"deletions":21}}},{"hash":"85387773f286ab8f905e2bd0c39298aef44908fd","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"9e18e558e137257a744e9a990c85fe2511152357","isMergeCommit":false,"messageTitle":"Edit add commnad and delete command test","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1},"test-code":{"insertions":24,"deletions":5}}},{"hash":"dc16decaa849c2a1089fefe6e7437afdf0e8d760","isMergeCommit":false,"messageTitle":"Fix typos","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":2}}},{"hash":"06822786d3d15ae0e723176649875697db0745e5","isMergeCommit":false,"messageTitle":"Resolve merge conflict","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":11}}},{"hash":"ddb67e75d1d2996002603fedc66c87ca0a65804b","isMergeCommit":true,"messageTitle":"Merge pull request #110 from Jayne1010/EditErrorMessage","messageBody":"Edit error message and success message ","fileTypesAndContributionMap":{}},{"hash":"afe6c2235a41604158057e33ac03a42597b15e67","isMergeCommit":false,"messageTitle":"Resolve merge conflict","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":12,"deletions":8}}},{"hash":"7a4490a54061e68f6e3d7bdb92b532695a604bcb","isMergeCommit":true,"messageTitle":"Merge pull request #108 from jiahui0309/edit-ui","messageBody":"Edit UI features of ClinicMate","fileTypesAndContributionMap":{}},{"hash":"08c1a6a34d2d3c719cbf4fae780407c65c3d7d3a","isMergeCommit":true,"messageTitle":"Merge branch \u0027AY2324S2-CS2103T-F14-2:master\u0027 into master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"7a4e1a2a84581a798594a9aa0edb24f508d0b52e","isMergeCommit":true,"messageTitle":"Merge pull request #115 from Jayne1010/master","messageBody":"Resolve merge conflict","fileTypesAndContributionMap":{}},{"hash":"50cc7143c635119463d8675278d11b7262159208","isMergeCommit":true,"messageTitle":"Merge pull request #113 from tengcharmaine/nonexistentic_addnote","messageBody":"Update addnote to display full list when nonexistent ic is used","fileTypesAndContributionMap":{}}]},{"date":"2024-03-26","commitResults":[{"hash":"10657a247ed7e4fe4fde47f84c4a9ac72cd81b03","isMergeCommit":false,"messageTitle":"Implement direct browser link","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":48,"deletions":8}}},{"hash":"093db4b86cce5692f0a223635190a3177d5f1020","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":2}}}]},{"date":"2024-03-27","commitResults":[{"hash":"e4803395d8607279efb4adb07f6d2ac3aa3a47f6","isMergeCommit":true,"messageTitle":"Merge pull request #123 from Jayne1010/help-window","messageBody":"Implement direct browser link","fileTypesAndContributionMap":{}},{"hash":"cd8227c62837609b35c5c8eea58445eede5c5c19","isMergeCommit":false,"messageTitle":"Update UI for note window","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":19,"deletions":4}}},{"hash":"c2f97bf0ae2befa9bb5a8357d3dfb2904b22055c","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-02","commitResults":[{"hash":"f1288da34b2009576780e2bf42858fc269f64097","isMergeCommit":false,"messageTitle":"Edit user guide introduction and guide usage","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":60,"deletions":9}}},{"hash":"5d938e9f33e4a3f351c8d843c5e8f3355fd7f31b","isMergeCommit":false,"messageTitle":"Edit user guide for markdown icons","messageBody":"","tags":["nightly-2024-04-03-5d938e9","nightly-2024-04-02-5d938e9"],"fileTypesAndContributionMap":{"docs":{"insertions":11,"deletions":8}}}]},{"date":"2024-04-03","commitResults":[{"hash":"033f7ddc0c5a2ccb24e0c0ec9aacecd2e688a563","isMergeCommit":false,"messageTitle":"Edit typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"f38393b92b3a7dbc05e26ef3ff4a9f69f75e3714","isMergeCommit":true,"messageTitle":"Merge branch \u0027AY2324S2-CS2103T-F14-2:master\u0027 into master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"8a5752a08f0b4cb7ee56fb29927924e8d68c1e69","isMergeCommit":false,"messageTitle":"Edit table of content section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":3}}}]},{"date":"2024-04-04","commitResults":[{"hash":"37bf8d34eb92784ed1a418d9c4a564ec281b4a1c","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":11,"deletions":6}}},{"hash":"6f0ff40b590c4d8f1e00c70ed3a63a688c6569f9","isMergeCommit":true,"messageTitle":"Merge pull request #140 from Jayne1010/master","messageBody":"Edit user guide introduction and guide usage ","fileTypesAndContributionMap":{}},{"hash":"5fdf071c54f4acdb88c339880417eebbdc6ede34","isMergeCommit":false,"messageTitle":"Edit specificity of error message","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":21,"deletions":11}}},{"hash":"ac7b1a9802843c74765297c3731801611df70b16","isMergeCommit":true,"messageTitle":"Merge pull request #154 from Jayne1010/ErrorSpecificity","messageBody":"Edit specificity of error message","fileTypesAndContributionMap":{}},{"hash":"9c747efab9a1963839faaa5925939ca7cec27865","isMergeCommit":true,"messageTitle":"Merge pull request #153 from jiahui0309/edit-userguide","messageBody":"Edit UserGuide","fileTypesAndContributionMap":{}}]},{"date":"2024-04-07","commitResults":[{"hash":"150c65556d92bfe38c17a5d7c6dd76e98d1ccaec","isMergeCommit":false,"messageTitle":"Edit command section of user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":80,"deletions":41}}},{"hash":"8e12a464b585b55f17b7f24b088ab923f79e7ec8","isMergeCommit":false,"messageTitle":"Edit UG for all commands","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":175,"deletions":27}}},{"hash":"75763a56281bf406333c60fb1828b79b7efa7e21","isMergeCommit":false,"messageTitle":"Edit command section in UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":34,"deletions":0}}},{"hash":"1fe7ba4bd9a52a8fca0076ffd0c05d1556f20fb1","isMergeCommit":true,"messageTitle":"Fix merge conflicts","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-04-08","commitResults":[{"hash":"9f38ff60ffe9fa0fabf3d0ec0b95e7bb1359b23f","isMergeCommit":true,"messageTitle":"Merge pull request #217 from Jayne1010/UGCommand","messageBody":"Edit UG for command section","fileTypesAndContributionMap":{}},{"hash":"3af4732eb81d263e9073898fb74341c42e242f5c","isMergeCommit":true,"messageTitle":"Merge pull request #218 from jiahui0309/edit-ug-intro","messageBody":"Edit UG introduction and glossary","tags":["nightly-2024-04-09-3af4732","nightly-2024-04-08-3af4732"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-12","commitResults":[{"hash":"d4accc06aed1468686acce3ef1ffdffaead60ca3","isMergeCommit":false,"messageTitle":"Update UG to fix bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":10,"deletions":1}}},{"hash":"169ddbf9d86582b47b4ed8ddc89107d2af3ed312","isMergeCommit":true,"messageTitle":"Merge pull request #221 from Jayne1010/master","messageBody":"Update UG to fix bugs","fileTypesAndContributionMap":{}},{"hash":"79f106c3586570b797378d52033ca57aec8ddf09","isMergeCommit":true,"messageTitle":"Merge pull request #222 from drustanyjt/drus-ic-error","messageBody":"Fix typo in addnote error log","fileTypesAndContributionMap":{}}]},{"date":"2024-04-13","commitResults":[{"hash":"9bd1f70a0757614733e3c2abf15647f4a6e4bfee","isMergeCommit":false,"messageTitle":"Edit DG for appendix b and c","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":212,"deletions":1}}},{"hash":"0d2295ef24a6aafa4f9452faaeb0776b6ec4c2b5","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"80cf6f994f3ee1786597f372dea3745aacce8056","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":36,"deletions":33}}},{"hash":"bc6483d9ae51e9182bb398f3d87e1d1d0d727ec4","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"3b26779346658975da0cb104d5c5082f81def38a","isMergeCommit":true,"messageTitle":"Merge pull request #255 from drustanyjt/drus-addnote-newline","messageBody":"Note down use of space as note","fileTypesAndContributionMap":{}},{"hash":"a2f9f3e3915e610fe2ad4c00c97ba7615ce54f8e","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"aabfecf6106c5968dcea99fb68c982c3c70d3f7b","isMergeCommit":false,"messageTitle":"Fix typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":16,"deletions":16}}},{"hash":"baa0a20954c83c9e80211b5fdce028a976a8fadb","isMergeCommit":true,"messageTitle":"Merge pull request #244 from Jayne1010/master","messageBody":"Edit DG for appendix b and c","tags":["nightly-2024-04-13-baa0a20"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-14","commitResults":[{"hash":"4af7a6d51dcdaf84b038e4a875c72cf73bd5d3bc","isMergeCommit":false,"messageTitle":"Update DG implementation for UI and show command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":194,"deletions":11}}},{"hash":"be4b1ec5dafc487a93248c72fb75085eda739436","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"5bced05cd3fd007d5e5fdee32ce4b22c95ec6a25","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":6}}},{"hash":"51ebf510b1d6568ee0c9d847ee7a1bba2c6f9949","isMergeCommit":false,"messageTitle":"Fix implementation section for edit","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":1}}},{"hash":"ef442e30943b47bfd0c2a8f70c5346f7f4725f97","isMergeCommit":false,"messageTitle":"Bug fix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":0}}},{"hash":"44149816cf6668e84a6baf2f5b8dc87b006dbb3b","isMergeCommit":false,"messageTitle":"Fix bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"e7bea21512dbe3db8c99905d38aef4e307a84451","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"91294cb75a49b082b8bc3ea58c614a5188e4efd7","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":1}}},{"hash":"1be9bf6023f7913c2e38e35e2801809f63c3f502","isMergeCommit":true,"messageTitle":"Merge pull request #266 from tengcharmaine/quicktourimages","messageBody":"Add images to the quick tour section of the user guide","fileTypesAndContributionMap":{}},{"hash":"cdaa69aff66464e1dc5f56c8fc668d67322ba805","isMergeCommit":true,"messageTitle":"Merge pull request #270 from tengcharmaine/activitydiagram","messageBody":"Activitydiagram for add and addnote","fileTypesAndContributionMap":{}},{"hash":"4d4aae827b13d7b92dedefaedb4d17d6636c78b9","isMergeCommit":true,"messageTitle":"Merge pull request #253 from jiahui0309/edit-dg","messageBody":"Edit Developer Guide Design section","fileTypesAndContributionMap":{}},{"hash":"d836aa99de6b4ab9ac802a24586497098fea20ad","isMergeCommit":true,"messageTitle":"Merge pull request #269 from tengcharmaine/addnotelogic","messageBody":"Update user guide with the addnote logic","fileTypesAndContributionMap":{}},{"hash":"e703a37484549d28f5d06c183f6917cdcf343d29","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":12,"deletions":12}}},{"hash":"c06b964b673a2a4058200ba59348338037085ecb","isMergeCommit":true,"messageTitle":"Merge pull request #271 from drustanyjt/drus-note-access","messageBody":"Abstract display string to its own method","fileTypesAndContributionMap":{}},{"hash":"8637faecca2b75b7edb7b80293f09d7649b8ab0b","isMergeCommit":true,"messageTitle":"Merge pull request #258 from Jayne1010/master","messageBody":"Update DG implementation for UI and show command","fileTypesAndContributionMap":{}},{"hash":"adac99d189b106a01ab7bb17686c50b3c3c00305","isMergeCommit":false,"messageTitle":"Fix bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":16,"deletions":4}}},{"hash":"2d9768f9f859131066a77f6411e48fd8d33b55d9","isMergeCommit":true,"messageTitle":"Merge pull request #273 from Jayne1010/master","messageBody":"Changed implementation section for DG","fileTypesAndContributionMap":{}}]},{"date":"2024-04-15","commitResults":[{"hash":"1d2de361114e6f236165500dd8705b1e358afa7e","isMergeCommit":false,"messageTitle":"Fix images","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":2}}},{"hash":"e6014e9fe79db3498b0c2788cefbca69b9febfe8","isMergeCommit":false,"messageTitle":"Fix image","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]}],"tengcharmaine":[{"date":"2024-03-03","commitResults":[{"hash":"6adfcc34a784f13ffc31553c6973dadbb80cac88","isMergeCommit":false,"messageTitle":"Update Ui mockup png to the new Ui mockup in readme","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"1486ea0ef2a180512c5976509554d75ef28089dd","isMergeCommit":false,"messageTitle":"Update readme docs for Clinic Mate from original docs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":19,"deletions":10}}},{"hash":"6e06e4ea3678473438cca55efac61b95ed58ecbf","isMergeCommit":false,"messageTitle":"Fix errors from github checks","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"19bf42edea40495ac4119f43eb631d4c62b37073","isMergeCommit":false,"messageTitle":"Update CI status badge to reflect build status of teams repo","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"633a23989c72c88bc8f67cdfd1334c35eb009fa0","isMergeCommit":false,"messageTitle":"Update non-functional requirements (NFRs) to developers guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":10,"deletions":5}}},{"hash":"6e1c8f60919f274804a665135aa7ee90348f57b0","isMergeCommit":true,"messageTitle":"Merge pull request #24 from tengcharmaine/update-readme","messageBody":"Update Project README","fileTypesAndContributionMap":{}},{"hash":"922bfe9ea876da86da32caebe1932565f064f5b4","isMergeCommit":true,"messageTitle":"Merge pull request #25 from tengcharmaine/update_NFR","messageBody":"Update non-functional requirements (NFRs) to developers guide","fileTypesAndContributionMap":{}}]},{"date":"2024-03-05","commitResults":[{"hash":"46d097d2b310c08dd298e62dc545ff12a54644de","isMergeCommit":true,"messageTitle":"Merge pull request #27 from Jayne1010/Updated-UG-v1.1","messageBody":"Update ug v1.1","fileTypesAndContributionMap":{}}]},{"date":"2024-03-06","commitResults":[{"hash":"3f6d958b873330dc5407e8bb3e43e7334e3e1aa6","isMergeCommit":false,"messageTitle":"Update Quick Start section of UG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}}]},{"date":"2024-03-16","commitResults":[{"hash":"0fe36078122ac2a61d7c89cdf4788d23bdec8e40","isMergeCommit":false,"messageTitle":"Create a new AddNoteCommand class for the new addnote functionality","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":35,"deletions":0}}},{"hash":"665392252e1bf9f57f32851c3b3d129c5456494c","isMergeCommit":false,"messageTitle":"Start addnote from scratch again to prevent mixup","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":24}}},{"hash":"fba4dade8a26169a869463e43b0054dc894086bb","isMergeCommit":false,"messageTitle":"Update main body of the addnote command class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":15,"deletions":2}}},{"hash":"cdf552de2e734860f1806a08f8c948db40404c0a","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/tengcharmaine/tp into addnote","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"47fef0bc3dd278ca979e3221291cfdf8b93bfcb6","isMergeCommit":false,"messageTitle":"Update addressbookparser to include addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":4,"deletions":9}}},{"hash":"f064efd928120ca7e3f14ca4cf19b8b11ced1735","isMergeCommit":false,"messageTitle":"Add prefix for the note section of the addnotecommand","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":0}}},{"hash":"2ff70274d59ddbb96029423577e0edc49be78132","isMergeCommit":false,"messageTitle":"Add test file to test the functionality of the addnotecommand","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":24,"deletions":0}}},{"hash":"6ae46c777b2f1815a580b357825e42e710dfc2ce","isMergeCommit":false,"messageTitle":"Update addressbookparsertest file to include the parsing of the addnote command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":6,"deletions":8}}},{"hash":"0aa30a47054fa71b0e61a5b71517c46094e320bc","isMergeCommit":false,"messageTitle":"Create parser for addnotecommand to parse addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":72,"deletions":3}}},{"hash":"b953704fc5e36e73e89303fadb54bd1db3404414","isMergeCommit":false,"messageTitle":"Add more tests for addnotecommandtest to check if add note command works","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":37,"deletions":6}}},{"hash":"19c02c9a4c8c6f0ae5a077154ded5e502a1de9d3","isMergeCommit":false,"messageTitle":"Update addressbookparsertest to check that parsing works","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":5,"deletions":1}}},{"hash":"e92c6a711c6103d786f4ded3b22354c9ee288fec","isMergeCommit":false,"messageTitle":"Create a parser test for addnotecommandparser","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":42,"deletions":0}}},{"hash":"9b401bddb29969bf74af3ade8e3bfcf4c00301c1","isMergeCommit":false,"messageTitle":"Update comments to fit the class name","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":4}}},{"hash":"5dd57bd198941b8960523b4e5546c701825a35c4","isMergeCommit":false,"messageTitle":"Update names of variables to match new names","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":4}}},{"hash":"50f08d92eb32fdc0b3194006629dc76aee34db49","isMergeCommit":false,"messageTitle":"Update the type of note to all relevant files and create a test for note class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":3},"test-code":{"insertions":48,"deletions":9}}},{"hash":"18e48a708961bdd57d13a098c30dbb99ad7a9ae2","isMergeCommit":false,"messageTitle":"Update code for the ui to show note in the main window","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":0}}},{"hash":"59c2973f81bf759822ae322d8df6e1d048e0258d","isMergeCommit":false,"messageTitle":"Update code for ui to work properly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":0}}},{"hash":"a8cda1b083ae0911b9d21f4c550a6d8aea2377c0","isMergeCommit":false,"messageTitle":"Update addnotecommand class to have the correct person format","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":34,"deletions":6},"test-code":{"insertions":77,"deletions":9}}},{"hash":"dc08b5f7db6e534fb4d0b17a2f46d51a6c16f53a","isMergeCommit":false,"messageTitle":"Update addnotecommand to append notes instead of replacing them","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":25,"deletions":6}}},{"hash":"098fb1f2b74c6044113e0964846c61506c29fbcc","isMergeCommit":false,"messageTitle":"Update the addnotecommand to be able to replace or append the original note","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":30,"deletions":16}}},{"hash":"07769ba97fd671dd6c2789cf356b30639453ef65","isMergeCommit":false,"messageTitle":"Edit the appending of new note to make the output more user friendly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":2}}},{"hash":"81aefcc9c314e29a603eab7d072173eb97f0a694","isMergeCommit":false,"messageTitle":"Update to use ic number instead of index to addnote to a person","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":35,"deletions":30}}},{"hash":"3e1b1d0960373d9351aec95f8ae3bacb02b23773","isMergeCommit":false,"messageTitle":"Update addnotecommand and addnotecommandparser classes to be able to append or replace note","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":26,"deletions":11},"test-code":{"insertions":33,"deletions":52}}},{"hash":"75619c631e9eef91aed04c5bb67be4b1bc0d73ae","isMergeCommit":false,"messageTitle":"Resolve checkstyle issues","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":5}}},{"hash":"c2ea630c9d8f7c6854d1c4c2e21c081d5d0b3e7f","isMergeCommit":false,"messageTitle":"Update imports to resolve checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":1}}},{"hash":"f5f4105f45e2486a88ddd8395e59a0783f84a758","isMergeCommit":false,"messageTitle":"Resolve checkstyle issue again","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1}}},{"hash":"487291a522debc982e5047f68cdec3dace2e01cc","isMergeCommit":false,"messageTitle":"Update addressbookparsertest to be able to test when notes are added","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":2}}},{"hash":"4aca9270e0bdaadec67d877d537e66df11300017","isMergeCommit":false,"messageTitle":"Update files to make sure all tests pass","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":12,"deletions":83}}},{"hash":"2f04d41b5300a61f4ac3773b38cc305f7d8dca3d","isMergeCommit":false,"messageTitle":"Update url of help command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-17","commitResults":[{"hash":"96beadae28564108a199f25e873b4963b1932807","isMergeCommit":true,"messageTitle":"Merge pull request #51 from tengcharmaine/helpcommand","messageBody":"Update URL of help command","fileTypesAndContributionMap":{}},{"hash":"351418a1e1c71dc1dc6f94e0cd411a494aea7efb","isMergeCommit":false,"messageTitle":"Update naming of variable to make the code more readable","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":7}}},{"hash":"1defa5b91d2ae21e1a4f299fe7f9019ed87dc966","isMergeCommit":false,"messageTitle":"Update code such that there is no repeated code in the if-else block","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":12}}},{"hash":"27f94b8780094149a5712b522460949b12a5cc13","isMergeCommit":false,"messageTitle":"Update success message to fit the functionalities that are going to be implemented","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":4}}},{"hash":"b6da16e7d0427f2298e0660ad44d2647f4132452","isMergeCommit":false,"messageTitle":"Update equals method in addnotecommand class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"65e4f6d9fb9ef49b856e290372fdc91696958e68","isMergeCommit":false,"messageTitle":"Move -replace flag to be a prefix because it is a constant","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":12,"deletions":8}}},{"hash":"504a6703e724f4312911eb7637556896b4044750","isMergeCommit":false,"messageTitle":"Update parser and the relevant test files to support testing of the replace flag","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":5},"test-code":{"insertions":11,"deletions":1}}},{"hash":"adf49f8cccd1f0ca863fed3d49d1909f6a477c49","isMergeCommit":false,"messageTitle":"Remove unecessary string in the test case","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":1,"deletions":1}}},{"hash":"34049096c3887035c2fdcbddbc07d8eca8817df5","isMergeCommit":false,"messageTitle":"Update invalid format output and remove unecessary lines of code","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":5}}},{"hash":"7c5baeec3ae1edaa23da954b35697cb3dfedf5a3","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into addnote","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-03-18","commitResults":[{"hash":"5c57592ed5e86e4a50bd0d75df021f7d498f69f7","isMergeCommit":true,"messageTitle":"Merge pull request #50 from tengcharmaine/addnote","messageBody":"Add addnote command to add a note to a Person\u0027s entry in the addressbook","fileTypesAndContributionMap":{}},{"hash":"2e2c94a8715de9f8ae27dfe3fd778f54d55922cd","isMergeCommit":true,"messageTitle":"Merge pull request #47 from jiahui0309/update-delete-command","messageBody":"Update Delete Command to delete with Person\u0027s IC","fileTypesAndContributionMap":{}},{"hash":"ba56b8f3169d27722e5697cab7ce1fb4a8e6f577","isMergeCommit":false,"messageTitle":"Fix bug that results in a empty line when a note is first added","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":6,"deletions":5}}},{"hash":"44fb44e949110f002aec28e8fcd9257274d25c60","isMergeCommit":false,"messageTitle":"Update the output success message to be more user friendly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":2}}}]},{"date":"2024-03-20","commitResults":[{"hash":"e9344111855be514da956b9dd6539a5745ef0819","isMergeCommit":true,"messageTitle":"Merge pull request #64 from drustanyjt/drus-ci","messageBody":"Add release workflows and update icons/titles to match product","fileTypesAndContributionMap":{}},{"hash":"78816172f25a8fe82a66935d381b9d1cc3a4f9af","isMergeCommit":false,"messageTitle":"Create UML diagram using PlantUML for addnotecommand function","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":70,"deletions":0}}},{"hash":"032e2453de7b90a06cdef8075a04c35a7b374682","isMergeCommit":false,"messageTitle":"Add test cases for addnotecommand class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1},"test-code":{"insertions":38,"deletions":2}}},{"hash":"eccd7f69508df4cc8cad7455483dea9d21ae728d","isMergeCommit":false,"messageTitle":"Edit file to resolve checkstyle issues","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":3,"deletions":3}}},{"hash":"e346979cb6f0827b2bdf54ff46cddfcddde47717","isMergeCommit":true,"messageTitle":"Merge pull request #68 from jiahui0309/add-seq-diagram","messageBody":"Create UML diagram for find and delete commands","fileTypesAndContributionMap":{}},{"hash":"68b26570fd6df049800008271734c66b3e5f4f1e","isMergeCommit":true,"messageTitle":"Merge pull request #74 from Jayne1010/master","messageBody":"Add UML diagram for add command and edit command","fileTypesAndContributionMap":{}},{"hash":"58013af5ab57cfd07da360478ed0016c19db9e72","isMergeCommit":true,"messageTitle":"Merge pull request #78 from drustanyjt/drus-person-uml","messageBody":"Update UML diagram for Person","fileTypesAndContributionMap":{}},{"hash":"f9caef08d2a479ec65f42cb0beb9e3c735505c4b","isMergeCommit":true,"messageTitle":"Merge pull request #71 from tengcharmaine/uml_addnotecommand","messageBody":"Create UML diagram using PlantUML for addnotecommand function","fileTypesAndContributionMap":{}},{"hash":"71d8bc93b84be9e50bf3f3786e6b4a81dfa31d99","isMergeCommit":true,"messageTitle":"Merge pull request #67 from Jayne1010/UpdateDGv1.2b","messageBody":"Update dg for v1.2b","tags":["dev"],"fileTypesAndContributionMap":{}},{"hash":"dd696a81d7454b18a575688973537dfdd248670c","isMergeCommit":false,"messageTitle":"Update sex field to accept upper and lower case","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3}}},{"hash":"d8902645b25aa38d037c66a1273ed6efeb38b3c7","isMergeCommit":true,"messageTitle":"Merge pull request #77 from Jayne1010/UpdateAddCommandTestv1.2b","messageBody":"Update add command test for v1.2b","fileTypesAndContributionMap":{}}]},{"date":"2024-03-21","commitResults":[{"hash":"a3c54ace8262ecf7334bf349a42687140ca85c47","isMergeCommit":false,"messageTitle":"Update fxml to change the ui for main window but incomplete","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":22,"deletions":7}}}]},{"date":"2024-03-22","commitResults":[{"hash":"0462a049e5d09e807cc18f4a40bbf9ac2c095a66","isMergeCommit":false,"messageTitle":"Update split window to make it grow proportionately","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":8}}}]},{"date":"2024-03-23","commitResults":[{"hash":"cbf68d9c7159c173b1e2944b37f6373db078d2ea","isMergeCommit":false,"messageTitle":"Update addnote command to not have an ic prefix","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":8,"deletions":10}}},{"hash":"2fc51897e64f04dc4a6d397c7038418e97e62866","isMergeCommit":false,"messageTitle":"Update addressbook parser test cases for addnote","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":4,"deletions":5}}}]},{"date":"2024-03-24","commitResults":[{"hash":"a74be2dc55f4d95d771b1d74b59fb383ac163884","isMergeCommit":true,"messageTitle":"Merge pull request #109 from tengcharmaine/edit_addnote","messageBody":"Update addnote to not include ic prefix","fileTypesAndContributionMap":{}},{"hash":"874eccc4f0f3eda22b3e2e643825989a1bcea4d0","isMergeCommit":false,"messageTitle":"Update addnote to display full list when nonexistent ic is used","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":6}}},{"hash":"f58dcc23216924adde4550e515718482cf9663e1","isMergeCommit":false,"messageTitle":"Update invalid command message for addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":5,"deletions":6}}},{"hash":"867545fb5ca5b5f9a1fcfeefed02bad1afdb13b5","isMergeCommit":false,"messageTitle":"Remove unused message","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1}}},{"hash":"c93c9e41c777b2f24a99a71fa2e28a3f9450abfe","isMergeCommit":false,"messageTitle":"Remove duplicated prefix for ic and update classes accordingly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1},"test-code":{"insertions":4,"deletions":4}}},{"hash":"5421d4505608abb85be1b48e6089421484f93073","isMergeCommit":false,"messageTitle":"Update error message regarding invalid ic format","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":4}}},{"hash":"c381951422a7fa3f1457dbd53e75f503964db799","isMergeCommit":false,"messageTitle":"Update delete command parser to print correct error messages","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":0}}},{"hash":"3a469e88fbbcd2a18ab12e2d768762786f3da67b","isMergeCommit":false,"messageTitle":"Update test cases for delete command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":3},"test-code":{"insertions":9,"deletions":6}}}]},{"date":"2024-03-25","commitResults":[{"hash":"eb7948413ec5b5a1e4e64bf7eaae68d0208b64f0","isMergeCommit":false,"messageTitle":"Update test cases for addnote command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":3},"test-code":{"insertions":13,"deletions":2}}},{"hash":"0f14ff37196ca7572d3dac2ab6393cdb841c18c3","isMergeCommit":false,"messageTitle":"Resolve checkstyle error","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":0,"deletions":1}}},{"hash":"df348f85c73eafa4cd5d9cd6a35818b0e3bd695a","isMergeCommit":false,"messageTitle":"Update image on home page of website","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"36a425fdc97382f105fa9aaa511ff1f1acde5115","isMergeCommit":false,"messageTitle":"Update acknowledgements","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"80329a3e22685eb0cae800f39d0c7867f0a1569e","isMergeCommit":false,"messageTitle":"Update architecture sequence diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"e11433faf2180bf38b9f99ad1dbc9c55db6bedd8","isMergeCommit":false,"messageTitle":"Update image of ui in user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"3c1165b3f7da85400eec941b606f610cd475fc74","isMergeCommit":false,"messageTitle":"Update contents of dg","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"37ca6f6becd1f680736b26b9b28aafc01f6d4a96","isMergeCommit":false,"messageTitle":"Update implementation details for add command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":71,"deletions":55}}},{"hash":"e6665733eca6bd30fb05fe22be6f816dd67fbf8a","isMergeCommit":false,"messageTitle":"Small update on add command implementation","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"1dfa6a33b176399156f3b3286efad3572f4c49d6","isMergeCommit":false,"messageTitle":"Update implementation and design considerations for addnote command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":73,"deletions":2}}},{"hash":"b41ae35832f4614c6a68cbeec731fb18cd3f69bb","isMergeCommit":false,"messageTitle":"Update find command implementation and design consideration","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":62,"deletions":0}}},{"hash":"45b3c6a4ff6263108ef7a6be2763531ed662fc32","isMergeCommit":false,"messageTitle":"Update delete feature implementation and design consideration","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":68,"deletions":3}}},{"hash":"35dbd9737e22b276950800f0f0f75b29739b60d1","isMergeCommit":false,"messageTitle":"Update edit command implementation and design considerations","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":62,"deletions":0}}},{"hash":"601147efb2aa2cb4768ebbd4af1bfe7c2051128f","isMergeCommit":false,"messageTitle":"Update show command proposed implementation and design","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":61,"deletions":0}}},{"hash":"cd046640e376c6c710eced4cd9f9a33f374f14f2","isMergeCommit":false,"messageTitle":"Update user stories section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":10,"deletions":11}}},{"hash":"d0e44243613bc049ace5eaeb5c41548f59c952cb","isMergeCommit":false,"messageTitle":"Update use cases section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":27,"deletions":2}}},{"hash":"4f5ff14a7431ba763ab823dc415ce2cde0aa2cb6","isMergeCommit":false,"messageTitle":"Update test cases section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":65,"deletions":11}}},{"hash":"cfe834f707b28b7c896d2e269505a35a6758bb10","isMergeCommit":false,"messageTitle":"Update test case section in dg","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":6}}}]},{"date":"2024-03-26","commitResults":[{"hash":"ead123b00a9c9738f922ad46ff139eb56f2dbd9e","isMergeCommit":true,"messageTitle":"Merge pull request #116 from tengcharmaine/qol_updates","messageBody":"QOL bug updates","fileTypesAndContributionMap":{}},{"hash":"42166f44710337d1c5708076d88df106711246de","isMergeCommit":true,"messageTitle":"Merge pull request #119 from jiahui0309/edit-ug","messageBody":"Update UserGuide","fileTypesAndContributionMap":{}}]},{"date":"2024-03-27","commitResults":[{"hash":"e6c6b752f21bb8c5a90a0398f9bd8ed60e862fdc","isMergeCommit":false,"messageTitle":"Update DG with the correct diagram names","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":8,"deletions":8}}},{"hash":"39cf4ea89bb6a8ef10af27a554d01789c878f542","isMergeCommit":true,"messageTitle":"Merge pull request #127 from tengcharmaine/dg_broken","messageBody":"Update DG with the correct diagram names","fileTypesAndContributionMap":{}},{"hash":"0e8b8738897509508bddff26b57e7661cba3175d","isMergeCommit":false,"messageTitle":"Update DG with most updated features","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":45}}},{"hash":"4e3cd112374d35f564520e52818f89c8f81a8b91","isMergeCommit":false,"messageTitle":"Improve the addcommand sequence diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":3}}},{"hash":"f4cb0864aeb53673a2d54fb52e73a870c7793f64","isMergeCommit":false,"messageTitle":"Update centralisation for images","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":17}}}]},{"date":"2024-03-28","commitResults":[{"hash":"f4585e5ecf669d1210ce054edd9672d5f3926b5d","isMergeCommit":true,"messageTitle":"Merge pull request #129 from tengcharmaine/dg_updates","messageBody":"DG updates","tags":["v1.3.trial"],"fileTypesAndContributionMap":{}},{"hash":"8a3c22f40c76a19b77f4655d69fda8dce93ff6e7","isMergeCommit":false,"messageTitle":"Update note ui display to truncate properly","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":31,"deletions":3}}},{"hash":"f1c74868d356755e50cc0cf22d1997d8f7f39884","isMergeCommit":false,"messageTitle":"Resolve checkstyle error","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"009f60c267344082a7d1aba6e83bf34196d57ace","isMergeCommit":true,"messageTitle":"Merge pull request #132 from tengcharmaine/personcard_ui","messageBody":"Personcard UI","fileTypesAndContributionMap":{}},{"hash":"a467a6210734975bd5b14f6ff60f6fd8f01b997e","isMergeCommit":false,"messageTitle":"Update build.gradle file to enable assertions","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":4,"deletions":0}}}]},{"date":"2024-04-04","commitResults":[{"hash":"f9a5fbd1371467da5ac6cb37824376ddf4da1eb1","isMergeCommit":false,"messageTitle":"Correct typos and add more FAQs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":27,"deletions":15}}},{"hash":"c022c14279c3131d9feb5a9b7d1681d0d36155dc","isMergeCommit":false,"messageTitle":"Update user guide to include new screenshots","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":1}}},{"hash":"f40fe8182e3b6ae6b9e841860c2fa8fd1457e780","isMergeCommit":false,"messageTitle":"Change minor typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"936dbb39d16b3c26db0eeeedf3e04a44652209f2","isMergeCommit":true,"messageTitle":"Merge pull request #142 from tengcharmaine/ugupdates","messageBody":"Final check before v1.3 closes and UG updates","fileTypesAndContributionMap":{}},{"hash":"179b8cf86e5dccecb4a4e7c36fd7778f9cdfcca0","isMergeCommit":false,"messageTitle":"Fix ui idsplay of personcard contents","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":6}}}]},{"date":"2024-04-10","commitResults":[{"hash":"a526b29116ad4fde36975200fa71bf3982bfc3ee","isMergeCommit":false,"messageTitle":"Bug fix for 166,162,161,177","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"1761bb3b8bd15c470432f48882cb412cfe9d73cf","isMergeCommit":false,"messageTitle":"Bug fix for 187","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":2}}},{"hash":"3de57258dfead5897f46aa29342f21bcbac34b4f","isMergeCommit":false,"messageTitle":"Resolves bug 183","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"56601815b8a5e6e263a0b51e186f8c81003a6d9a","isMergeCommit":false,"messageTitle":"Resolves bug 189","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":14,"deletions":2}}},{"hash":"84a05025f37657eec878ecd5f7703fba8ec130f8","isMergeCommit":false,"messageTitle":"Resolves bug 188","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":28,"deletions":26}}},{"hash":"cb5936a5f1e340688169411fec534203de0ee0e4","isMergeCommit":false,"messageTitle":"Adding of page breaks","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":0}}},{"hash":"5964bd9af89e6e3b0d04cad47807336fd3e003c7","isMergeCommit":false,"messageTitle":"Fix typo and add faq on help window icon not working","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":1}}},{"hash":"074041dd869509099e1784249139219c55a8e2bd","isMergeCommit":false,"messageTitle":"Add faq, notes and further enchancement for 181 and 185","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":1}}},{"hash":"62d54ab740f4ace9e98a69024e69734ea4d8806e","isMergeCommit":false,"messageTitle":"Fix typos in the ug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":2}}},{"hash":"7ec80ee408b169fa25c2e743fd400e3c830a0388","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into ped_bugs","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-04-12","commitResults":[{"hash":"4805a6d596185b1041c59b3cc6c8e89ca6877c45","isMergeCommit":true,"messageTitle":"Merge pull request #220 from tengcharmaine/ped_bugs","messageBody":"Ped bugs","fileTypesAndContributionMap":{}},{"hash":"8faf579833d9d92bf8125ede8d932d908f130c40","isMergeCommit":true,"messageTitle":"Merge pull request #229 from drustanyjt/drus-docs","messageBody":"UG Fixes","tags":["nightly-2024-04-12-8faf579"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-13","commitResults":[{"hash":"a9581312c792bf4685426cddd6a6c4c50469dc65","isMergeCommit":true,"messageTitle":"Merge pull request #243 from jiahui0309/jh-edit-ug","messageBody":"Edit user guide together","fileTypesAndContributionMap":{}},{"hash":"2dc25eb2f0e55870d4b92e5cfb8f5534d60b8e20","isMergeCommit":false,"messageTitle":"Resolves issue 234 about missing description","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":1}}},{"hash":"a7996050a8dfb6533fd4ff9dfa7e8393acc0adb8","isMergeCommit":false,"messageTitle":"Resolves 231 to add instructions on how to open the terminal","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":3}}},{"hash":"0c0ca2fa63fce8211717328ce00366e918200009","isMergeCommit":false,"messageTitle":"Resolves 237 about show not having a possible error section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":0}}},{"hash":"d36c724ef18b042193514b624f4ed22ac12a0574","isMergeCommit":false,"messageTitle":"Resolve issue 238 about edit not having a possible error section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":3}}},{"hash":"742d655cc258e9017b403a52a9c46c74dbdb8408","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into userguide_fixes","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"21e7c3c3189529d82d36909ee4942cf66a93d87f","isMergeCommit":true,"messageTitle":"Merge pull request #245 from tengcharmaine/userguide_fixes","messageBody":"Userguide fixes","fileTypesAndContributionMap":{}},{"hash":"3f1702d0e2c6624a2684742eda748f903d3a8368","isMergeCommit":true,"messageTitle":"Merge pull request #254 from drustanyjt/drus-quick-tour","messageBody":"Add Quick Tour","fileTypesAndContributionMap":{}}]},{"date":"2024-04-14","commitResults":[{"hash":"86b7f786eda20d7222d640d6dd5b3ede1aa277c0","isMergeCommit":false,"messageTitle":"Edit requirements appendix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":128,"deletions":69}}},{"hash":"37500f2fc831825a1eb388b3e7cdc2102b8c0b27","isMergeCommit":false,"messageTitle":"Update appendix c with show command","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":32,"deletions":10}}},{"hash":"0708105482eb5ccbef9cbaec4982baabe8483a9e","isMergeCommit":false,"messageTitle":"Add images to the quick tour section of the user guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":14,"deletions":1}}},{"hash":"4451522f64c24cabe724c2d129a4a5c91e4ec448","isMergeCommit":false,"messageTitle":"Refactor commands that uses ic number","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":31,"deletions":25}}},{"hash":"6120473b1b06e1617437d31ee12df4ebe227ee47","isMergeCommit":false,"messageTitle":"Remove unused imports","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":15}}},{"hash":"df8bb7fb6ff473296e259a910cb5622eeab86d96","isMergeCommit":false,"messageTitle":"Resolve checkstyle error","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":1}}},{"hash":"fa5ec37aa70f596051433e3e44d4b36f0af04fcd","isMergeCommit":false,"messageTitle":"Fix testcases and checkstyle errors","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":8,"deletions":2}}},{"hash":"b321b5c44020429451ac1bd493a504df4e9bd66b","isMergeCommit":false,"messageTitle":"Edit getpersonifexist method","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":23,"deletions":14},"test-code":{"insertions":4,"deletions":3}}},{"hash":"ae6dd1fb300b10554f6129d20580f1f5e7b8cee0","isMergeCommit":false,"messageTitle":"Update user guide with the addnote logic","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":12,"deletions":10}}},{"hash":"6d17229d1aef00d7c52d32d357dbae420ae6b1cb","isMergeCommit":false,"messageTitle":"Update addcommand activity diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":11}}},{"hash":"ed8a8ac12eae69298c95c5d42181822396f2e731","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into refactoricnumber","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"248db122d350a0f98d210fbffa375d878c396dbb","isMergeCommit":false,"messageTitle":"Update size of activity diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"4c3296cd4992096ab7db64984ce88b71912a10da","isMergeCommit":false,"messageTitle":"Update EditCommand.java","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"130ce3c698deb6f756afd157904e4fb8ddf24a9c","isMergeCommit":true,"messageTitle":"Merge pull request #267 from tengcharmaine/refactoricnumber","messageBody":"Refactoricnumber","fileTypesAndContributionMap":{}},{"hash":"3a33b712d7030b44c0b86dccf8372747b7c9bdf9","isMergeCommit":false,"messageTitle":"Update activity diagram for addnote","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":15,"deletions":9}}},{"hash":"92dc9eb6272c71617ef1d6b0fbe4267153b6ff4a","isMergeCommit":false,"messageTitle":"Edit from comments and also update code reuse","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":30,"deletions":22}}},{"hash":"2c6fba950429f9306b49f077c3d62eda53a83da0","isMergeCommit":true,"messageTitle":"Merge pull request #265 from tengcharmaine/dgsection","messageBody":"DG appendix section and code reuse","fileTypesAndContributionMap":{}}]},{"date":"2024-04-15","commitResults":[{"hash":"6c15bc96cd9c511bd19924e3509e98adeeacc478","isMergeCommit":true,"messageTitle":"Merge pull request #274 from drustanyjt/drus-ug-final","messageBody":"Update UG During Review","fileTypesAndContributionMap":{}},{"hash":"0bc403fa81e6bb4d8526f1e98a00c91e6bbf06d6","isMergeCommit":true,"messageTitle":"Merge pull request #277 from drustanyjt/drus-dg-final","messageBody":"DG review","fileTypesAndContributionMap":{}},{"hash":"45523e6a5b8342484e0768510eeb51eadadd812b","isMergeCommit":true,"messageTitle":"Merge pull request #276 from Jayne1010/master","messageBody":"Fix images","tags":["v1.4","nightly-2024-04-23-45523e6","nightly-2024-04-22-45523e6","nightly-2024-04-21-45523e6","nightly-2024-04-20-45523e6","nightly-2024-04-19-45523e6","nightly-2024-04-18-45523e6","nightly-2024-04-17-45523e6","nightly-2024-04-16-45523e6","nightly-2024-04-15-45523e6","nightly-2024-04-14-45523e6"],"fileTypesAndContributionMap":{}}]}],"jiahui0309":[{"date":"2024-03-03","commitResults":[{"hash":"be650b34b7753172421b5ac7dc1b96999429bb1c","isMergeCommit":false,"messageTitle":"Update About Us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":29}}},{"hash":"d7d233883734a9e0bcc21f4991fc8f820a6ba874","isMergeCommit":false,"messageTitle":"Update About Us from feedbacks","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":4}}},{"hash":"c363de2811d3fd0a4d3110b9047eee86e9232c22","isMergeCommit":true,"messageTitle":"Merge pull request #19 from jiahui0309/update-about-us","messageBody":"Update About Us","fileTypesAndContributionMap":{}}]},{"date":"2024-03-04","commitResults":[{"hash":"9a969a3bb60e72dcfaf0bc6d755408e91f78fe54","isMergeCommit":false,"messageTitle":"Update DG usecase","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":97,"deletions":2}}}]},{"date":"2024-03-05","commitResults":[{"hash":"f06e933edb533409ab4cce2c551b975a0b604bd2","isMergeCommit":false,"messageTitle":"Update DG usecase from comments","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":20,"deletions":20}}},{"hash":"f2831f7e8d61abdedfb24b7ebd72b5e7fcafd917","isMergeCommit":true,"messageTitle":"Merge pull request #29 from drustanyjt/docs-dg-glossary","messageBody":"Add medical terms in meeting notes to glossary","fileTypesAndContributionMap":{}},{"hash":"4e8320caaaf9ba28f09b91f32975fa292a0f96af","isMergeCommit":true,"messageTitle":"Merge pull request #28 from jiahui0309/update-dg-usecase","messageBody":"Update DG usecase","fileTypesAndContributionMap":{}}]},{"date":"2024-03-06","commitResults":[{"hash":"548133f9d747a41caa2218591dfc1e381a2f0f60","isMergeCommit":true,"messageTitle":"Merge pull request #33 from tengcharmaine/updateug","messageBody":"Update Quick Start section of UG","fileTypesAndContributionMap":{}},{"hash":"0d6da5c29394a526908e9fd2124d6549f57cec53","isMergeCommit":true,"messageTitle":"Merge pull request #34 from drustanyjt/docs-dg-product-scope","messageBody":"Update DeveloperGuide.md","fileTypesAndContributionMap":{}},{"hash":"8a80e337ed28e10568b9606abb2173afa58cc921","isMergeCommit":false,"messageTitle":"Update index.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":4,"deletions":4}}},{"hash":"f2ec7ddff937a906bc2e2a0d7a00bc620db97ef3","isMergeCommit":true,"messageTitle":"Merge pull request #35 from jiahui0309/update-index","messageBody":"Update index.md","fileTypesAndContributionMap":{}}]},{"date":"2024-03-16","commitResults":[{"hash":"dfcbf36c65d5d96d25471da99407015f2221593a","isMergeCommit":true,"messageTitle":"Merge pull request #44 from drustanyjt/drus-update-person","messageBody":"Update Person Class","fileTypesAndContributionMap":{}},{"hash":"0813c1753e3f735d66fefa81ab4bd0698af2c3a6","isMergeCommit":false,"messageTitle":"Update Find command to search with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":61,"deletions":17},"test-code":{"insertions":49,"deletions":42}}},{"hash":"53dac0a58990075939d2d93e04d7670b08f9eac6","isMergeCommit":false,"messageTitle":"Update PaserUtil to add parseIC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":18,"deletions":2},"test-code":{"insertions":3,"deletions":5}}},{"hash":"14de81967ef0fed342a542d525affb138668a6c0","isMergeCommit":true,"messageTitle":"Merge pull request #46 from jiahui0309/update-find-command","messageBody":"Update Find command to search using Person\u0027s IC","fileTypesAndContributionMap":{}},{"hash":"69940f556a45d2f7d548345fbbc9ee34cead237c","isMergeCommit":false,"messageTitle":"Update Delete Command to delete with Person\u0027s IC","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":19,"deletions":17},"test-code":{"insertions":40,"deletions":38}}},{"hash":"e093fa404c24f17eeb13a8d96fa7c95313884e96","isMergeCommit":false,"messageTitle":"Update Delete Command class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":2}}}]},{"date":"2024-03-18","commitResults":[{"hash":"7671661bb0df09ac3c55aa9c381db3cc8d8fbd05","isMergeCommit":false,"messageTitle":"Fix bugs in IdentityCardNumber class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":4,"deletions":3}}},{"hash":"60acb0663c3d3e2de1d454c6a776b59bdbd10ede","isMergeCommit":false,"messageTitle":"Fix checkstyle comments","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2},"test-code":{"insertions":6,"deletions":21}}},{"hash":"541832906428e5254fbfdb0c8c44e7083e5b103c","isMergeCommit":true,"messageTitle":"Merge pull request #61 from jiahui0309/review-find-delete-commands","messageBody":"Fix bugs in IdentityCardNumber class","fileTypesAndContributionMap":{}},{"hash":"bed5d5d7d44d0f92a26211c8530e815482c3fcc6","isMergeCommit":true,"messageTitle":"Merge pull request #60 from tengcharmaine/bugfixes","messageBody":"Bugfixes for addnote command","tags":["v1.2"],"fileTypesAndContributionMap":{}}]},{"date":"2024-03-20","commitResults":[{"hash":"a018971dde606dce262bf8ae51a44b3286f25228","isMergeCommit":false,"messageTitle":"Add UML diagram for find and delete commands","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":74,"deletions":4}}},{"hash":"81b904c26bf50c64bba80aa609cd3daf08f91aaa","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"9f248ee44c792ab821a8785acc01b629531bb032","isMergeCommit":true,"messageTitle":"Merge pull request #83 from tengcharmaine/addnotetest","messageBody":"Add test cases for addnotecommand class","fileTypesAndContributionMap":{}}]},{"date":"2024-03-22","commitResults":[{"hash":"9275e1387489506d5cc140df44402a9d7f81e97e","isMergeCommit":true,"messageTitle":"Merge pull request #107 from tengcharmaine/improvenotesui","messageBody":"Create split screen to display patient information","fileTypesAndContributionMap":{}}]},{"date":"2024-03-23","commitResults":[{"hash":"2595550c9fdd52be07b388f1546750a6e51ce51d","isMergeCommit":false,"messageTitle":"Edit UI features of ClinicMate","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":381,"deletions":10}}},{"hash":"30e7cb0f2c53c07e06224d4dac6592d4632070a9","isMergeCommit":false,"messageTitle":"Increase UI font size for better readability","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":16,"deletions":15}}},{"hash":"73099e8a7d84cbf8f87eda7b4f6e8d605d6a589a","isMergeCommit":false,"messageTitle":"Add testcases for UiManagerTest","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":50,"deletions":0}}},{"hash":"6cf7d891d0c48fd9588b49ae4ba53c42335d9380","isMergeCommit":false,"messageTitle":"Remove unsupported testcase","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":0,"deletions":7}}},{"hash":"a0f8cb7b12f9557f07bde057a1e373838faa21ce","isMergeCommit":false,"messageTitle":"Remove UiManagerTest class","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":0,"deletions":43}}}]},{"date":"2024-03-24","commitResults":[{"hash":"51ad8c7e99813382f98f50dddf3f6177be90636f","isMergeCommit":false,"messageTitle":"Increase result box size","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}},{"hash":"a067fc17a70f7b836963728d0ee55dde1a5c943a","isMergeCommit":true,"messageTitle":"Merge pull request #111 from AY2324S2-CS2103T-F14-2/drustanyjt-patch-2","messageBody":"Update build-and-prerelease.yml","fileTypesAndContributionMap":{}}]},{"date":"2024-03-25","commitResults":[{"hash":"c401cfbf8813236f858eb5ce704366ea7ad26755","isMergeCommit":false,"messageTitle":"Fix UI bugs","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":0}}},{"hash":"6796bfd3ab92cbd768d8e2a7c8726cffc1d2f120","isMergeCommit":true,"messageTitle":"Merge pull request #117 from jiahui0309/fix-ui-bugs","messageBody":"Fix UI bugs","fileTypesAndContributionMap":{}},{"hash":"6650659c35ab136cbce04d61c6d82d288e0c8ccc","isMergeCommit":false,"messageTitle":"Update UserGuide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":46,"deletions":25}}}]},{"date":"2024-03-26","commitResults":[{"hash":"d2aca556e109382f7dc74a3b90166877bf2d025a","isMergeCommit":true,"messageTitle":"Merge pull request #120 from tengcharmaine/update_DG","messageBody":"Update dg","fileTypesAndContributionMap":{}},{"hash":"627ce3ff840a6f8c49cd7b3c99862f0ae77cdda4","isMergeCommit":false,"messageTitle":"Update User Guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":30,"deletions":9}}},{"hash":"57d307021cef7d7cda305689f775e73434c0afa0","isMergeCommit":true,"messageTitle":"Merge pull request #122 from jiahui0309/edit-ug","messageBody":"Update User Guide","fileTypesAndContributionMap":{}}]},{"date":"2024-03-28","commitResults":[{"hash":"0d441915f32d6e041a581367eb9cde9d48cfec70","isMergeCommit":true,"messageTitle":"Merge pull request #130 from Jayne1010/NoteWindowUI","messageBody":"Update UI for note window","fileTypesAndContributionMap":{}}]},{"date":"2024-03-29","commitResults":[{"hash":"1139f09b2de424bf9ad6cbe0e325bab0ff8c62c1","isMergeCommit":false,"messageTitle":"Fix UI bugs for FindCommand","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":26,"deletions":0}}},{"hash":"77d6fcf7ec293d4063e0edf275133e5de9b4a152","isMergeCommit":false,"messageTitle":"Add test cases","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":1},"test-code":{"insertions":64,"deletions":0}}}]},{"date":"2024-04-04","commitResults":[{"hash":"1bdfb6bb194b5937075810d8d3b9e024b81c4975","isMergeCommit":false,"messageTitle":"Refactor prefix symbols","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":14,"deletions":13}}},{"hash":"56f1b3e4900ae74a92b4b81b4061ef1449a8d19a","isMergeCommit":true,"messageTitle":"Merge pull request #147 from jiahui0309/change_prefix_symbols","messageBody":"Refactor prefix symbols","tags":["nightly-2024-04-04-56f1b3e"],"fileTypesAndContributionMap":{}},{"hash":"5e122cf2145dbad59cf42073aaa41981dcf8552e","isMergeCommit":false,"messageTitle":"Edit UserGuide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":24,"deletions":18}}},{"hash":"d3482fd51b983cbd50b6ab67bbda71e198ef4b16","isMergeCommit":true,"messageTitle":"Merge pull request #151 from tengcharmaine/bug_fixesfor1.3","messageBody":"Fix ui display of personcard contents","fileTypesAndContributionMap":{}},{"hash":"cb65d40a2ffb6e8e13fae09b5c872bb6c6899df2","isMergeCommit":false,"messageTitle":"Edit UserGuide Appendix","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}}]},{"date":"2024-04-06","commitResults":[{"hash":"152c3beb9b6b34b73699afbee463fba3b0ca2bac","isMergeCommit":false,"messageTitle":"Edit User Guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":49,"deletions":8}}}]},{"date":"2024-04-07","commitResults":[{"hash":"476e23833ec7df22f920f6dd960bfb945aef009a","isMergeCommit":false,"messageTitle":"Edit User Guide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":17,"deletions":13}}}]},{"date":"2024-04-08","commitResults":[{"hash":"82ea1e3ed4979dcbc87f879bccdd6a860a9295c4","isMergeCommit":false,"messageTitle":"Edit User GUide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":76,"deletions":1}}}]},{"date":"2024-04-10","commitResults":[{"hash":"b8d9c9c931570edaee6cf4eec1c4fcd51af6004d","isMergeCommit":false,"messageTitle":"Fix PE bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":48,"deletions":22}}},{"hash":"4974803d8a06620fe905540af577a370dcd00a7d","isMergeCommit":true,"messageTitle":"Merge pull request #219 from jiahui0309/fix-pe-bugs","messageBody":"Fix PE bugs","fileTypesAndContributionMap":{}},{"hash":"f3d47f522b486f5d4f9253fc2fb1b56cd3a58d82","isMergeCommit":true,"messageTitle":"Merge pull request #159 from drustanyjt/drus-ug-bug","messageBody":"Add optional braces for edit command","tags":["nightly-2024-04-11-f3d47f5","nightly-2024-04-10-f3d47f5"],"fileTypesAndContributionMap":{}}]},{"date":"2024-04-12","commitResults":[{"hash":"bbdb435690fdf7139e050cef77a5e9ed50b819bd","isMergeCommit":false,"messageTitle":"Edit user guide together","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":161,"deletions":187}}},{"hash":"73f6641b962127f922a05aec746b529b862e0816","isMergeCommit":false,"messageTitle":"Fix grammar error","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"07b6a900886f0bc7f1bf70277df46f0311b1fac6","isMergeCommit":false,"messageTitle":"Fix minor documentation bugs","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}}]},{"date":"2024-04-13","commitResults":[{"hash":"3a47a51d9ff69c92995cec9e3945864eeae52419","isMergeCommit":false,"messageTitle":"Add User Guide images","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"0a53b947952e92ff61ec9c99d65998d62c841069","isMergeCommit":true,"messageTitle":"Merge pull request #246 from jiahui0309/add-ug-images","messageBody":"Add User Guide images","fileTypesAndContributionMap":{}},{"hash":"786e5b1bb7120b959b18a4a9ba6f64e0017ab03c","isMergeCommit":true,"messageTitle":"Merge pull request #247 from drustanyjt/drus-fix-logs","messageBody":"Change log messages that use AddressBook to ClinicMate","fileTypesAndContributionMap":{}},{"hash":"1512cdcb1959f7e0a8b41a56ec5953a53f3b9edc","isMergeCommit":false,"messageTitle":"Edit Developer Guide Design section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":26,"deletions":12}}},{"hash":"93ebfee712ab8ce869f80da9fd21d44c5fc0c4ef","isMergeCommit":false,"messageTitle":"Edit Developer Guide Design section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":3}}},{"hash":"692b7690076024760912c3361b3631146e2ffdf8","isMergeCommit":false,"messageTitle":"Edit Developer Guide Design section","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":0}}},{"hash":"6248ee53ff4228baaaef2232089196eaef1a81e1","isMergeCommit":false,"messageTitle":"Edit DG Model Class Diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-14","commitResults":[{"hash":"6e465dd4e1da87b50e08002ae6b8483da2f5069e","isMergeCommit":false,"messageTitle":"Edit DG Model Class Diagram","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":1}}},{"hash":"1831e2cd89c080573f50148160836619a16fbd31","isMergeCommit":false,"messageTitle":"Fix DG features sequence diagrams","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":127,"deletions":24}}},{"hash":"c69c1462b504d26222357b57aef51e837c5dd787","isMergeCommit":false,"messageTitle":"Add logging implementation","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":54,"deletions":2}}},{"hash":"7ea06524f6615d80392005d1f2597597b47d266d","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":22,"deletions":21}}},{"hash":"ced3063072fe8d4ec70e4d341b0cfad07b6cfd62","isMergeCommit":false,"messageTitle":"Update add, addnote, find commands in DG","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":50,"deletions":25}}},{"hash":"4f4e07aa9328457f8e67d72cadab9783067aef33","isMergeCommit":false,"messageTitle":"Update DG sequence diagrams","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":52,"deletions":23}}},{"hash":"2076f84059bd1275acf227be113e457d45480b1c","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into edit-dg-implementation","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"0220e31a5e97368c406eb2257d27d5640f6ee79a","isMergeCommit":false,"messageTitle":"Fix checkstyle","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2}}},{"hash":"c52bd388860fd51985b3018e5b74e97ebc577e89","isMergeCommit":false,"messageTitle":"Fix typos","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":9}}},{"hash":"82a75cf89c08080d0dca3aeef14f4dd679c6f1a6","isMergeCommit":false,"messageTitle":"Fix missing details","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"846bc509dd084b85e31d3b95ca4f811fd6103c0a","isMergeCommit":false,"messageTitle":"Fix Addnote and delete sequence diagrams","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":22,"deletions":3}}},{"hash":"7e78654d9a10027b5e7bde36eb178274c59de9b1","isMergeCommit":false,"messageTitle":"Edit DG comments","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":3}}},{"hash":"a16d989a80bcb030147c9ad8c95d48f669efa74d","isMergeCommit":true,"messageTitle":"Merge pull request #260 from jiahui0309/edit-dg-implementation","messageBody":"Fix DG features sequence diagrams","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"drustanyjt":{"docs":331,"functional-code":741,"test-code":697,"other":162},"Jayne1010":{"docs":735,"functional-code":304,"test-code":305},"tengcharmaine":{"docs":689,"functional-code":258,"test-code":191,"other":4},"jiahui0309":{"docs":654,"functional-code":549,"test-code":149}},"authorContributionVariance":{"drustanyjt":134425.56,"Jayne1010":15368.0625,"tengcharmaine":26138.387,"jiahui0309":12318.746},"authorDisplayNameMap":{"drustanyjt":"CS2103T-F14-2 YEO ..STAN","Jayne1010":"CS2103T-F14-2 CHEN..AYNE","tengcharmaine":"CS2103T-F14-2 TENG..AINE","jiahui0309":"CS2103T-F14-2 SONG.. HUI"}} diff --git a/archive.zip b/archive.zip index 4d1d7568e0ac323ef2d0f9602188ae6a65699a01..a18d39c3edcb1100cfb98f062792bd3211ec515b 100644 GIT binary patch delta 13227 zcmZ8n30zFy+n-z6GR?Fq+E+>`DeXy$Ruz(>1*t@vHc=)@qqJzzpyi^4R&BcN)2<|y zv}+U6rb31Mc+Z_{hWF3sd*(Uc=XuV4&b{~aw3a<$Z3AF4H)dwx#;sq!9=BoL9ZKB^ zH!)b@o*_gm)YjBw1{55;mjGd$P)M~VxmpuKsx_HT9%5!)cLx!TVY2W*C5ou5xD-4K zJo({T;K4$!_{9Xk41mgOkcwYxKU~2~W0=G!3OqV2uu+mB#D|Ort-EuKUdTThJUPF2 z9l&~k4FIf2e(%Pr9W=|j=dlv-iDW~FfWT|;DY`V0EGwvewyNFmoEw*F?r%8(Vu6axS@W^&Ah;JfhF=qNxP2#jw(%NnUBuLRMO|Up=Qg(*}_p z0Tr@crF)5y!F~hS3!sZA@a*e&L{p*ro#IZ^BT}x!?Z6{@s`s(dMiX0iWS{}iN8E|~ zXH+oaa0w(5s{!Z8w^PL!l|g@er7co^UafF;7) zcyyl@!<7=g-->{MgP3 z@x$7R9MD=aYqSl(aexy5wg_vqT`Fb@#zKrDTyM{gEug6b_8gb!?G+;f1%Lx0Tz}G& zkKRBrI5*D_VyA#}5s!2Zp46kAB(&{C(+Fd0=Y-TL@(HQa$O$RO4c&BKDJ1&4<07 za`kKv~?Qxmp@vHKRia6aeQChlcZZcTpMv72Kn(Q>;Wdy1)<;B&V{t z19$*SaF-koF0yA-Oa=;os{q#kLXgPfPyuX@13w9*!{+)0?2&~oR|?1y z&=ZoI9Fck*APk8}CEr;1+q^dt;j}G#DCUOa?Z1s9k4S_AL;&1GMkFEyIx&~$u~M*k zDf;k`Uy4+EK_k(#0X_&wK}xW-@fvb&T@*kxKn%bwB)2Y>a|3FLfUQD0`PU~G`25+0 zVX|@LFxhy31SCxM_IXZvb>c7;0S`26D0c0+J)?ta$fCiw0TL0>V2a@ynk~A4keKU~ z!qZq5eaL_;J3QQq`qNq#K1CsiPu&5yi-b?zQ~yBslt89ClJ+{$JtZh0OCUS!P6kLp z9CoM5{~1$I2^?K+2nisa0jbS@A4oKk9X%X5$ZuYx0>A+GkvA_M+(&4|g1(Ex1{Gk+ zk?PQgd;T0V!MCMgV?g35F)Z#JWZn9Q0BHc}02zpGedaZ8Mk8U{O7xUr2Pqy|)0cT$ z4OPKA1$RPHusvYuuVio8ACcd(KStiNXLUSexKn--vk8>3u1P%dxj1X$@6(M86aYEM zPhze&nPCriRH5@jdtiVU4rNnJgPxzLMv!90qqBy*<9#kb9o1>Hz8ymM0BaLo_qm${DUhU+!q<2=XbS zae;PplgHZ|0h*BU_GU^N-B<#Fy`BxI)3WH^B*VGS09p_@xAivm_CPDrtN|?&9dbP4 z>;HW9EX@NHDMhjMe~zcX5yc$j((&g2Z2&I-+L6-nms)a+n&5m;#uh}0*r9uvQ6G&Y zz+$- z=NpY6`9`Ci&rl2GD(Bd~Q*>Ji@{G?Iz&JAF^Y%?SjRp@rQDkPvMC55SOMCK(l9S>l z0Nw$-2l#*_#Z9vB!Ae2Tx6ZD~EiUvz#V8=lP8L@G2rz{Rt4|juGfYt(3ng&l44wi` zYCOWxH?6Dm|2$d9KnpO71a6!gEv4x|qorW^=jg*Vxqc4WOLvff9!093hUqk0s9!i&WZ0Ti{$Srp8>ug-&MYLhhe7RSqGV=&L0k7g zK_*WB09Zwc(?7{h3?HQ0{J*kLh9w1L32?z{^g#jMI@Xe@J^umx0{C4??STRznkiUx z;xOJ6f{2yiO~TI?Bf;B13`&B82~C(GD&CX@Qn*G_(?)dcC3?c6i<}zN!2)p|p?gZe zBS3{cH)96G*FYdyize$J>VWuqD4vgI36_dDtkD6s8Z{SeSEn+RrL7oASPRhDUX8I@ zS`UF_1Ddd+$wr83wS#O!Sv*`fPxw4%_x1LvZp#Gq#_NI21i3r)Bos=Oi(^x!zn5Ci_BsuPTv2ZsenHlYbGM4g}IgZd({R)bd#>b(DENMkE4PkY;#19?J> zJ-itL$rd!>hp6_j0JN2v?j#P&cZ2z)z4K9@Jrsc6s9}|&kK899kM4WUnCUkH5J&_e z>hv2SXygmSo%*R$7_$De+ksDvr?3bF5>bfiDJ%v#{+UD2J?g5r7<9)HD;@0;n*Xz$ zV)|OeAdrYd)V@{;sI?8VLQk(>V7UoU$8SqQRR>7bBUhFS$xhP`QZGH05}MXrQZUtu zJWOnOy>HJ_rn`WvjQv8v8r(+3mmB>R&ns2$ zVy@}CNwO55JupRl)XFl{FOiotXBvC%=s8PVuvoDPwWIl-tDU9HN)em0#%R#`G5bBy zdYA15=G2B&yL+Z48xbSmkP-BG$h1gR z;-H+1Ow@7twawR!Z)OJft*|P<_R5(7vTV^E((Ye}+duE!4qP5`E<1j(_pyGMAFTzgN-FDx%r&J{;ja@jAgOuJrk>-^TKtlua0ZnOWM+?F``^% z`1WUzY0lD@u^+_I7a`Z>aHCf7ZhnWJ-D_IEo<#pQ{=e3XeN=PFy7(_b$+Y2IOJ?qr(2OX!+m79%1-jO%l9QPE3UfljO({ggUZSH00 zW-G$l4A=W4i&8C{QQeQSRrrxYC7#-rimb#Be$Pn%1%9|O`}x$}ULPO9_UjY2>x#Gd zBu6IC_vMuR=MqX8aA93hbj}cqR#oXPQnD!FdnhBbgx{pS^50K3p;Jo@m%NH|x;BTg z)ihOhk~hR@hmx)>_aGfW3>CO+P;yyAEF+O+$<$Yhw7b_jk)rJZT+(yHIW71 z`w8jdGDymk-}iV7_T~qyXy5wM{BUlRMlhN}S%QA&$c2 z!T(15j}G`_1kF5;qs-=1vPVtxsWPpsCMh7nbDeb%T-GI^B*dgxDFdO-gle~ zTwglqG@z6iP^_3H(`+8NBTp&s;(41UuMMzdnEl=)C#gMB34wcz9F})o7&&WB)Dc=Y zyS8}p(p28#d)eLsmPN8WJ_dqDCcy?TQ%-c zSBH+Dsp8mN{LC&sm#84^GZCd$e$n}SPe-G6nsM!_>h<|Eq`P+(%`2>w%MR&S-?;YN zvboW(PGigLYSp)s|T4#-R24to6O7eN_FL-tO@cV4* z$l$i-GfE;C21|>JmHdh(#gjg6Ca6{YpJ5C#Va*tW2wD2PX^QuJ2ifLo6ctN#p)^_39csRPmTmTZOqxW z=C5l6M7@?%w7C@MEA_5X_=Ic0$tX+9E!H}MUfSbOtJX?BYY z-^4xUoDJGZAFe6iFYvh_^m9lfIYCcDUoWuVbZ?l8&-l_7cc)_b%GG^AAyXpiCOjYY zx10KfpE4!{YAtbR)R&XWge3H`bv&-OrktsxNf`|sqU;PCj?qrdqoKM3>AZ~MA% zxQ%z;nkfTo6-(P`xz&V-w#IyRLeJ)nZ&T-{xHhClNF&=zzlYqRB%HNRFSC!&yp%1u z$xS`qezwdv>UK=}!2YE3(|Y@3+BNTTpPdhU8P>Yh=-sUKkTZ_QCYu!No#^0RztLdf zY2H)!%bhznt!*h8e;2**h`)Rw^Ri_kl|cE-=018vJf5}CN-!f*DbaBs;pnoxjMIG5 z>w(pK!#QG(HXe(MyuZ7TP5g4tr~a&j-u-&E)Hi6Gw1;#f*><$esqdV(>`?`LTzS}N zb&dU^-=!H$QXp%x~Q)?d81LiJj?ix|8F*E&+oz6PNA! zK30iqE9~3JylJHFdeCGE4&lcsC8qM5nhZi_#+YqQmb*c+*7Z__6ZkUJX-w;S(MC%+3<32!87 zzAB!`&kX5Pzuh>yC2QM{=DxRXint%|(#KW&ZEp+l-zo@(++N2Fh0TvtU-AAV=Duw| z@A;(VjJqQtYZOAD!UZE-AL|iPR<~`&hoCHFIn!fprFrh<9wDsA1QY9W5AH&^Z^O~C z>+!KB=CeXN!~EyYTV&Z=j_tRxuU{>%i1_BMsFRuflsmk#t7kmFPC!RceN?fupviUL zRNl9o(A}=bq?T}f6BM@J4PmwCPb?t(j!3w~`Es!xw!x}Tae7ilMK*m-q^Gy1Zt}Q3 z%5qYgWC@O*nDx1v@l&$mCEH`a(xcFKsgXKE!<4rj2-eSSK zZr{e5RdtDepH(j(j#?x0_|Q5Ye6V27>>)pGXVs3^BKkACyOmGcz3qw}=(HPhB00M# z*uWR8=PveZlS5yAE@&Ukj}zQ?Kyuh?>v0#yORnZ^vLd^ktsHKgPU(0}sl&Uu#px?giHbaZ{rJaGOB>E~pCo?t@XtBc$aY^cNI6MxJwM?tW#{_2LB zb;91#_1`#?ujxjgaN0M{Y)z_2$sI`v#U~!#;&k_QBq^+)**d*9**p(nsvOw(_2~4$ zx}f7sDK%8;>#IUq)gfXx_l_R>x_jHy>UZy<=1s9LOZ}IHNx7$2q>oO9t0T zh2PpqrC+Xm>E?W41qU>=eo!Gg%`eUke@%A2EU&Hm9=SPx7?S6bqYEis* zJm9DI#?$Eyg|oU($)~-fX0^N8Qq29u=OEYLZN_RzQr^1?3I?|LSu71!c-is^JSf%SkLw)wxy2X`G$+t;I*P0G`Ncn90_~vb1Tkh$w_>m)g%$$?* z*^c_7kBGef&GPNSGQfzS)DGn zr$jixP0pFPtM%=R4R^i$&7Z2*`;~AeUG2dWp6^!f#g*LrJb1Y+V5l5-SgS&2=Np+B zagvBXOG}8nSf=>VXFJ1Ki5kZax$8x*`KtBE*EQ>Cmzi^;Cc^h+DWAPx;YhAeNw$ER z6YBU+%uO@>+a*%TH*}&yI;S&wK%A z9bR^gT~kax``F7@GY{Po4VbkVZz)jDyve0Sg3kq}iL5BUsr>I^wcstkiMvOb-|b4D zbT3E3hE3|L*-y;w?J1G=d(yk^D(2!2>HCO*8e`+PtYav^Z z`_UTpc?F;1o2P$iWl41lC0*kbP*z=5cT`Ptb#UBd(JUsiN|KPG%3uhhb{&iSZm7?118Zg#0mR^q*$YY(bB2+R3MLoyS^-gD29Po2xu^hA*W#Act^rSy`yzfws!ICV}Wu{*oQ_M<;BiWPNrI zo)s`|whKr$%-j?y->)m|R4g0*;F|hxQ=`l$sXs_Ru74CW>+)S)Yri3w`C?pIeZaM? zPs$GU3212#TxyxwR32z``$3Sjj&`j?$b+D~E$<^gS0KULEytP%U4s)Wr?Obz$qM#6 zo*ZPoKhZR)Uc`Igw4I9NeQ|4K<6?$-yROhntAxargoj;qMe`5T?5lSiTEiU_Ja$2# zeb(!^ZHM-$! z?9v{2W$~eJLtCvoJD=JV*FYbKrq*+Qp@0O7<&PHo7o~CnZ%tpi6uQyt9ml$t`Bt-2h8Y6dt-8WNcI6E`t7<{tY@PO#@RX>?r}z41qmKsj?RU&e z{=n5*BF@z-^=+b0!fjh_weKqR*QKOqmks8JTKt9uEx+Vlss8Q$)b97fL=L$!jdye4 z+>FO3;occ5s`i`Fl&b!*oIN9Zs_Lvp-D@s=%M6+SZy_bnW2xQDV_rMx$F#7y@w)Yv zl~G?~j^c15DG&koH#~uMy$5dcXdlSz=-*spUd~EFAd!NoFK4$xq&WIVv;HaYT3k!7 zSpweE51I%5PD(v3p$v)c!W3w`QH5Ykiy!+`xFH@?TM{JY$&Swqd3omZ{8t-Y!zQ@y+ z`7P~nQjyK2ee!A%HEYkNI)@{p!%v3Hnu;Dzy2Z|X&QdUa+;Tb1a(LrJD$GVq8$a2< zG059DjbwI31^)Ky_~U?*hUNN^!{sNCrYG$l)e0Kx)9emw9%*}Xg8%i3tM!R@nZv6G zriyI)w>gQICL@o9Dv(PJ6w>7ww@TNrkUFF& z=)|b7<`J`yu1N*f3G4n*P2@>PnJ|8^=jz!BA+=PJzpaPWhl*@!JLUb#9P=K%B&UES zC3y;=EFfv6YJRxy%ln43?;p>Ol<2$hC$_up{5|ya=aZLj+y_a8g2#{?-<)iHyVt+T z73Zw{Kgo5ha_S!O>?aO{`nU*)4!xY+Z$Q4r$r-*rydYFhR#!|w^q0k+4_v3ZbaYQR z`$;rDyieLBCerw@a8o@o_R*!GzHqgsC{0zp!;e>g>zFD@Zr-dsSy$f%;y*h}HQ*#_MW(t-k0hfnzXElF<*D@iba z>!P9h`jBpP+MI*Ip}@OoOLft`lWI1?Q!cjyl4}pCtKLd*^Y@d;2oVi3l887gD=>Xn z>}c|-lcd^l@vhB+0&0P(Mro*0_KWn+{zr|PFz4wIL~p+lla%CmY@CDP;u(%SVzf(; zo!(5ExJ_(Ex`VM{Kw{jfM~+>yX|=^MZ`-w5HCDG7p6aiAkgjm3fe>aZc{9umC!`H| zd}HY!7Z=mNYG|Q(h&z#6uJxjts?x>N@2Ujwr0s(14W`B%rh@kxt!r>C;XG8EsHMRWE3rz_!h}+=pSztEqQqu2u zCozFfRrMH}X^{zu8V}EOJU>Fd7$98#A!v3&?}8&PQJgtdV6#J?_Ji|tT-W-vMLp(7 zTo3!SuZ^eGHXK+Ci_v{#%4|KTgabczgG#lmeGjW*)=mZ~$rCKm5`0&bIlqx&V@Jd)umuXV2Au* z4cR9scUrzQ^tr*v$o>YB=iA1-{hFnq?r&*e0$^PxC(QS2g+Se_8ahkE`ifg!gs!kg3ykQlw zxBn1cZsUlO>c#G=G1Jo_DjE$ponUUw)%2=?t@<6>4+UrY*N84|3JtYok25KgD)2Pb z9KTmk|1{20QQA{7{w?_NkvuGRd{tuXsaZYvafv#bAlm4D%)E+iBP*%$VxSMj! zEc$875*Gt@hzMZHne4iKT(%u7m588nN2l(yJf z9`Gb!={z0tw?98Js8xYsBgZ z1QJ%>AcIo|k&GA@4D)sgVg2|CB&=`NkLbQ7K*D@EK}Z}{o*R%bu8qM-Wzo4%AYpc+ z3{DG#yJ6fNAYs1C49+5l&OHGVX2%MG)-XF4AYohsgA)aDXBZaj)&ww+={{uRtl??h=qNu7|6qE(z$RTVZQGeoGysa!MGG4 zVZN&j?kI@H!MGA2VRl3iPlIu8K*G2d1}8~mjWb=TV-%Z zLDU4sl>iB|BZ6oLjB^7L#57}^W}L>=RARQoDGcWF~%hT+z&X~pW9(+@cGWq5)3~2DP8`uT&W;SfOmjXnO_uj zi7!7Jzg`W8Yhi65m>9H8r5a2fE~O0!NsKCw{IrSI0ha*$ELz}dfYt!G9pth21wNWSiKc(%wf!HxG)?mz)i6hDDg0@NOdn{6 zFxu*V{?~koYguqDe%t=19a69-u-Zdwt?8y^&2_tQxEIT~|LNNn3FSX!YJ*zB^`CL4 z_2Bc3?i)?}a5zr6{~dQtSZBZx(xlZ%0un#di6(e25J2=Mnx!d*X;O-VHoOQ{7#B5`7sSe>HPdVeZLo}n-k;G926k@Kh6;H_H}bRc_CnjtG9={x$&B{s6jdSpR9|+-MwoF;c)*4cw4qT delta 13275 zcmZ8n2{;ws`#1J;P*3IFO>3 zYipG-%Z9cjDcIqrF~o(yEQDM8Fp}58Oa^uWq!206hycI|z=cE_aR<2mD|v>Khli4A zWI#aFin)^<=mnF20)Q7_9l&~IhLdljExk0#;X*zx3K_B@Ao{2I-s{mylp+BIzy{=S zA^+8}f8{v**~mjV6s<)-#1l3O`2H&gC`b-}1ONmPhd-OlWbiUTcf-1{F~p6GNegW; zMM=EdF?KVh+cub)Wac9TAdHy#h*ahN^ScTBgeWDHLT1EBVDsmM|2U&6Zn*2qeu$S8 zl)D)~6hI6>90|&mXxxeA0&b)XY;_0R4vHh0kp;OhBysC7sv&_J3m^p`jfgAAi2dy_ zGNTmCm1zuZB1Of?AW?B!{&3Y*oUqZfI}5Z1d914f?ZQZGG-(2oKmp^B zo5T{J0U1_A)MOdTG8gFi#P>Ug!RBF~JvHtou=tK=EvJUr$okItAd0 zsB5|9pTpe10FtJ3uecHL6<55#jf72aYye5ZV#R3BeqM0{IE{Q>IrEUdMMzPc8r`{Y zxA!6LmPWLeNs)j8;4I?Q=;4rt(g-Lf9UHNK^SxSv=6jpj6Tl0=8@bKw^ZXROO7It8 zAb>n@_aW$@B<@CfbI%9B7r+mBbMO3HDZ0b$GSJ8j?*TA4psw>?*Z(=eze_<`fA3ZG zNq3=jek3J`|$*@jO? zGL_>yuq1_tF@g)5eO1HZQ_?7pRaP4IE=PyGB4Y#q5m97}G&q8Jp`}sc%Okn*zN@f^ zEOW#apj;AA09*iw0*FT9%P$J&(fp*~u?loZVv~K+_L8+8%@Nm#po=IoDfadyfEXn9 zHYs)vvjF`s32RrPv%s8u*(C)f|5j5Mu!Q6yEnd=!R4hOoz!hXgD*n%N+_f!9h7#Y9 zKtPli<9Bvo9J*}4hpRxpq6M;$3L6pt5&_5nSCPVoq;+dhO9ad#;)#DgMZgDJYj{a9 z3fBOV0j?u43Mn4zXr)Oa0=g-zd(lghcw`DdDk2_9F=oLG&^ZNPtu}_3;qZs(S^!_7 zWIE$2u%Y}%h3zOTq}WLczzu*jBz7`g;{z=lDP-z-#$H#Ns}u!Xa*>>N-2}LWIPJQv z{I_>$B?=?m!MC58(;V=!c+i!Tmo(gQ8vq8lgA8|M-a#-c(0WPOFBt@S#uDfH&P1Be`K^umO*id=X0CrV;cF)E=o!f_MNaLMP0h*BU&S#V?nynN9`!o+~V3+7@ zB*BHv04)ey*qYKtvywz?1KarBu}hGR4CQ!W8v%A|M4veEw}6M^ZKQ|e?EoDBoyf!S zE=@(6yA)gkOgAArxu5T|pcjRaT=3ZR22fXQy{SL>oK%0Z8=wcNKlx%IAG5`FzwVxo z%#`Dfy#%~fUkSbY{!JhXswDv}Kp%44v7b?y?g@)Efqq2pB=)Z{#YuE_qa+V$bg&=b zB{DiVpl^&R(cYuf`@P~$(&0i}C10r=#%Q$7@Cfih7dRf$h~F!KL4el)L&%8Va5H_> zOJKD@I#-4>%;*JT90hRLGbS&o$Ycay6e%)!)7^|(As5z->7At6gJ;TSFlf-#ltOHD zXCZO>j{%G$-2QJLR%2FRB^HN|w_tlbI<(l7-+5!p7q%SZDpAs-YwrNw155yXKptKD zIIn}30#+jg^xLM>v_i3p^N_%N2AD)dHKs~$(oOLOgsuHdpn&C@fbb4X?W2!myvZb> z1(-&{*3P`C!aPBvWGG?GvjpVolbJ?rDMlYbq+sPXbWWfv9^5@G4Y7c&dluje*uLlV z`{}+2;q_ehaaskXC>*cnxUg58^`!4=^8jA~7Lf01-}+)`RRy!W9i8Qz)Nfh%jsZ%< zNp5tZTt`|KTLf4FSO)lxEQ|e6#dl6{`=uz{Q$Mgpiwp6J{1JQx%NLs(KtbZ3`U$Xt za8Lar;Y&X11ABI&?Ex>FT*%~CF0{n3jRGEyDAYnukCWuNn$P8_Z!qjNL!qt*2VChG-i5hmr-bOz^$@IhdH#La>IqK15mCW)A4T6P#?h$PR&I4VrME$y$hN zxk!LCm;YsB)(zSZ7lY-MK<%F9gdSj(A)}`WAmN6nk$ZWdG`#ZI3MB@XTkgLOwoiGW zJLj;>u!&X#G9!@D1sNpk&}2QD@Ih2%l?_nl-yI0u(;oMr-HtvKQ+X3NK<9}&AlZZ_ zLJ-vv7KXMk(Oe~|g?ELa<-eOKx)B$HYXZEd7c7b7kHf+cNJJp&$KlP;_yXMvCIh_? zbxn^br1N)i0KQ~zQ85T4;tVFt4AZ2N=YG8ndw3I7Wx`@E^af^CRlK<_USEu zo6D|U8}Ugm#Q9+Y+r%?>6;2EFAj`t7+e6l#p1K%yIDxZ6l5}%Nhb<&_YcjB2fU!>3 zzK~(|j`Nh$no}OnUNav$GyYQ$scb9jy6I0*338e`EZgbH^rp4s$cHY%MF-_$-X%oQ z%euk>>ph&4D?F>z^owjBSVGTYJ5=Ik9C`I*irr zY^K$yZJx>otDNTNp~KpOmI=t1NybnN@yFg*;o0Zq+I$#DOFz!3wZ6ToUU?^fr)Qmj zz(ys-bjGRCt#cs}{Zb!F52)$n1+@jLwX+RYZr@Z*ov6BZe#d)ml1YNyhZ7dod@tON3e|tp>LTf(65n}D_xM{%d0yZO|LAd1i|OtCx}TpA z&6akDP%0|5)x7z9Hx)NTF02&V6{nwj;qqw8c`KV)>gem9Z@prp^Uoe1y#3+JS=$G2 z^K;^N*UewgLOk{99_7jA{R#&6)Up!JHZV=DSm)fFQGJ^r_WFT_m*J|TZr{Y}JktmG zhrw&Rm|ZQ;y*?%km|f?y6RJ*QF8rVuHDpD+V3PEpvadDIwmePOuVlVBWAI_tX}-`KtVU^?4&Tn2d=cf%m;*jw2xH&@62~_UQQI&jNExn@NH;W+UZB@w@ z*D7W=RjlFIyC$a0qEPUt6|2m`bdoKb*QaEKKrI8MT(!Fm{GY@|WDB4q^Gb8-K^xbk zU2>VkgNpvIdXqoSpWAqX^YM=%R-IDoKTFaNUQ<1)UQl~7ZnUjul|DP6SJJ<$J-0Oe zddl{r+hgAPoyj@V1Yd4=Qk&K=b4neSJQFqXsT7tEqV7{01Isol^XF!j>! zKYHuky=$lB(yNMFFEOt^VepJf6k>Wvojq50X;vzSm{vNPkTG^k*3@qAeL|X3MNz9A zi=)_tdjFEfhhJtJgDb>@&EqN6tG!DNNpc>~@1}pK-8V&6RF#x2|LT91Fgz;%E}=zA zdnw&TFVZ+u$g87uakukOn9MQ$k~6E)X>1YKYMNi6)Npx6RLW){;lQ%4+#_+d{RZ2WvY@11 z{`6ZprOD?+2KPVre%zBYompNM^Sa^S?)zjzB{;>vu0b%QdbAvlK z7DAVDk}XEwjE-kZy_S=B+vw@8v_ETY@qqV^j1Aw`3Qq|U7JRpVnp{SdnO2E!)v=p;&sl*Jt%)^MkX6 zVN#vDUb|RqQ3>%VY|S+|M0q(_eyR^%F)YpQ?e;{OQnQ-OUmAwZx4NweSLIb+F^ru zZ^#ug^*j7*({iBS>cksPv1Q#N>dV>JzkcYwpZ@8Pia2CAmqwj9)}i`qc5yWhu{)vr z=iDo;pw#HJ16r2Eyz?o+?dqPz?+3ldLKpRF9^m7 zmXz4Y5B5o%m9{;}6a(MA5c_0Ot#{EH8Ts>OC}sMgk5o?$HR@COeis+l_r87B+GSjx zLUXL}MSE>lg^J8lE}c(rR->|Cxs+NLNDRiXi#&>*inEt+@E|Jld(2OkoMre;5hW6L z%YT`-RbZb~-y@!=a&uR*kMzdaPrK#K(nHR(9~7=B+nMdxLJmqc`t?{+TeHVqBj|yJ zaYs>7++D9Q#ZeiiJBQ3dLi`3SCrbs{*BW&htUf&VeRkxt+DE0gG5Y5ls?Ip3Pik8; z>=58tTg>eJU{8w12+`7glw#Za;$o%8&{XQmF4>csN_U(bImIZ}Y91^O>VmDzO|wv6 zUFkFal%JNW9@&f1eYfx5f2h5M$)&*7H0hzxago_g9Z+B9f}-*!40G+7_>sCr&zYMX4!YnDjX7%%B@M=Kd&WzCbJ{{K zSL?UF6D99|xPjqSX`9likA5)=2RO|uJa-&l|3P~5tvJq^${Dv9R$|to-0}WI_ZdH< zPYV67f6d4bZa;tYg-Br8C4<~N*2)gXlYRj#G3qaWxcq7!stoae7w{%{%5B~1-UWWi zh0e_A?5}*cZ4PK7uD87H1O=-9OMI=$S*N#wui0r!?y#+YHhL+Lexm zs{e3(GP}NRc#Xf>i_LeIsI}Kq�&|t<89FVxwj8NP8hilgaQt_+gVws`}xZhZxoN z7Mx$-sj5)O5y3wT)ulN4s6)e5ee&R??P5N^@0uL@7XH)QXJO^V zugtFux{oWMk9HGpPYLth^jF_K@^(v%tcBy@IcXJ-!SHz*QP`DdA9Y5qJzs1PFG+9U>xGX=KSsZP7D3%N9Q zlDi=HU}t!#g;o~=x9=g=v4S0Nu>dm`qlqGeEbA%Dk2ctn0)kcX_mwO~(i{>u#v@`Wvo zarc~VX5DC6v~L#J(Pih)US2#e&^1$Sv-N{_$jBXk-l|OlCT=GRd(7Tht1Pv>JD^hO z6xP81b6bXyF=0dB4=;0-@I|Kq<^9Bs!Es4LYTr#5gdZnA-O#mOE4V4;(T7j-tuOT) zkd}#>0>X?b^c9j3?3g&)FY9)FppL~ppHc1QF{bQ7lS7tbZj+B?*7hD_5K-0{NUBp$ zfB#4h5@~&O{IYWY8UC-{7w?|0%;QVoN)6}k{4wR9B!A}<6Eo%AY1c#X#HsAiBBE(i zbf?Cylbc?eu8TMCjsM(iY{33w`0|11F!M#>zSHETiT4^A!}c3~1&!R&-1o%xzN?Y2 zv6sE1B5#%*ddg)zrM^;&A-Evbg=n74XN;)CY4Wo%mv(3VI$&5UsPfw*;{Et# zW|ID~(qkJuxZ;zge{5B1UE0GuBVGB$z2{6w<^4B0vi=c8TXnmiGuggoU5-1)!f|!0 zTtcsnYgWYpozvVqH%rG>3yh6C+7K4klwhAAE^|7UQJ3e{Gm7jf*QEQLD#JyK@0<5! z6W0d$^aUMkpe()=uGkqJ`mXm%&A0jDKiU!Bzs%M+uSEhK;M5*=p^4a~`P4)es+l!w zKzV(OG2Bw0I5v4?bgm^UzRZxU5~pS}5q)%^SJM8nB)MBSar54!B`?Y02vVWs%9b@3 zHGiJ~j7Zv`K4?T!3h5fazffbBTw@I9x*a;iuilmk7Y7nK$ zoY6Zm^I+)D;=qvBs9wk$gR0N7_tL!qzwbQ{q7Vxj6oN z_I(qpIsg(UvI-J|DKD2tz0 zk-tBbg+L+)QNKTwhYqRGTqWSnm*{C6b{cW{vpi({_ecsoZ$wq#`!@KfLKgJh3V}oc zO%%~Y38D)6DnsG)H+U&(o%S}!?+uq6UkoLibr| z6_J7;SgC^37#>h(0`-)XDkQ#xo)sC@fn*m%ePE>qF@B_ZNy4{Zp=T3wI_i)ic94j6 z7tV5ngGg?2=v{RPB)cJM=v@t{eU#=YMLl;x6Z)a|uZ)ByO^BS(qyYJw zD@lTksz9s=wxbNUDP7DMdzAAkjw?12i#& zsE@xGLFBtcFjTA={_`UM+0Xynxf8y@O74DMo)3;6^cphYsav*UzsRlVuK!EL_;c>7 z+pqR02)=j}y_20_bJCfyO!n&0NSQgJGR0Okc80&ZqbBXGj_>MDP0bb8fW^-HUk~nX zAMpQe=+LiUy%gh6p&pyMW$+2P?%gagqQAC%AXwGwYmVIJg{s)W4|P4cQcurb%`?j5U-SA6R{itYLad~Z1_ z4h1NSo{Dol1$*yW%cMJ{s#aI-o3`Bbaj`LccX4Xbi5X7ah=pSlcSG;1{hIgsl6i)> zYteh#cl({(Ln~@mzWQwY$zyOrYwb$S$EAZj%h7wwgL|ud$imNSiqtZe9u?|5A7~m_ zWpdOXuP!0+Ul$5n$K zLh@GawLf+Hj+a;ac?D~{UiBYzM)RT4VV%cN8FMiKk zwKlt~&$Pzp*6yo3SE6h$NAX;FW_vjj$m=8m3q&@Vwv3xq>OrIfx%1-u3BoFAPf6B% zeI!{|!7I;x@-!$oA33~_Pw&~?(u?dd@%np7@z3_D6kc+XSlfDs|60C+RHLntOxaZe z(Oo=GJ})HBzaUQ{FNDLtAWeQ-d&vbG8IBGWd*PEm3k7#@ab>*^4dito)5Z=HPp-i7(lRnzoJ~PKRe_NMr-I^WN|0l4KK5U1?X|Qzv*`dzeW)=jb{SxivSg?>8`s zl5QH%uh3DyyLgKC0XgxsW$LvkMd=h9lek;gEX%nsxQSlt)VX*o+$dQf08}%ouOymy z!m71ke0?P8keHAT6!86?k@z+_DalJE*#ZZjwKrroWQcv7aI&7}^A zCmM$BPKNC&hV7>f@0-N%stX#Fxd>z?pD3s$Lm$KA6}~t>wq%=mcl1mz`^{YmF5vHs zT=rH$Y429qRuh9Y$5jfhNpe~z?o`?RB62OHIpUh>hAQzW>Qdn4PUU@>%1Nn>#S302JNR4j`;{vqNBs(?oBZSNep;~=NAMwrk*S* ze7(W!0HtcW7Vl67qn!2s{Byg?eL?TuS(bMOI2hStPyj$<=yEt zo_^|ys`I6@FDzAvybrI%x}+SqSma`I{w&N~yJYMF{vPxcs9b!-xmIeZWDoc&9BSwq z6PZ>3f1gCA;~K?9goS(JVz}qRT11))q6*O~+#?Nw6y%y}ndH0@#dAz=U>I~7sAn%~%3+O@)(=}tZi=$1M z1&74F!#P@~EZFVfldDzkGwY)VbV|V(%o@-su=i!`lHO8g?;E9)Y`mf8B$hozS@n-^DKIxbj_jDm0KE9=F6e67uTUuApzx!Ted!9yJ*-`;wB^$c75 z*i^mxe&+m6of?lfL-prEe0EgV+^Y8~_G~U6%E)N#t9X!Dhhz;l-B(j8c6C)*^$y&j zGArno{Q2|Ng+?~7H{>Ga-*ui;?&Z#3-)D2%78;Uje&rt)Exz%*$K|JI-xATKNakI` zk%6G$dgnPmL&v@K)7~qS&OLoAf!v9ors_UVFAz@+fJI2BPPkJE{u8)-|K(1H(3icv zy~_C0n1T|wHJp@Y4Dn%+H1~jnMU26W>BbNibO}2G2@4B_9{~xAtAhnHXq+FAaIS~W zDS*&VoQnez?mI!}^ls6(+d#tYe$hFr+cd5cNO)biLFgo27Y`ue+%q~S38E$OG9rM4 z=Qm8})Ie+`&ZPhex0|DLW+1!`=kkGs+p&RAL!3JaB%FIp=Y&95AkGB?3AgK`b1ES6 z59bnqgxh_la|XFIE*nUAJAMNRZ<}2n&9@3jxG:s`Nhoa>}>vLN6N=VE|_mpe}9 zbV0Nn&ZPqhxBE`#EI?Eo&XocQw!tI9XoEnHe!?_e7 z;cfc@B)n}0KzteQn+GJ^js=8%;dYKd!tHA596yNW!Z|-6;dY&LP9B7T;rU$x686Or zeg`Bg^Z^pq1`%1dn3N7AYfM@M5^iS!LaT7D2uL_bsHFM20txqR1QKqy8ALPTc40um zxdA$-iqN>LK*H^2>6|eLUc$LNAmP4@Agl@JoPdOLHFQq!5sfA|Td<-eI(8j?PAmMf&fP~xaZ>4cCkZ^95&RK)# z37o3}67I_jf*x?r3rINEM(1QZXk0XqaJz9jrv;)Ha4sE4xbGsJvjD*aI9CKD+>QX^ z1MqgZ0_pE~rgI|T13u1$015Z)2NLeP1ALjsxkMo0+%%mt1RvjVE(b`M-EHvE9H$(B zgu7PLxs81^&KF2_oaoyd{R{wp4LIyeJG`|YyxuZJOiRPOLts0CkArJDZ0g3M8b&=L z41u?FN$f@QHdy@$qG(pxcJJ8KR2Uij^7t6G{pY2Sfg$%cFxM4FjnoDowJOIjFu;zC z42u8HNb|EiRvtg>4UPl^uzayXZvkf^rY4`Q|4|e0U?})7*ar!i)e2@6r@amK0e#O0 zD-IY#GFXwXg!%+hS(zDH0%ZTEUQ#04|5{_m2Cx}uixAe9gZxWcY&#ejI+hszrQwa0{`%Yc7TR!W*N#K7=>22sgr diff --git a/js/index.js b/js/index.js index f805d0a..d62f7dd 100644 --- a/js/index.js +++ b/js/index.js @@ -31,6 +31,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=script&lang=ts": +/*!******************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=script&lang=ts ***! + \******************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_2__.defineComponent)({\n name: 'c-file-type-checkboxes',\n props: {\n fileTypes: {\n type: Array,\n required: true\n },\n fileTypeColors: {\n type: Object,\n required: true\n },\n selectedFileTypes: {\n type: Array,\n required: true\n },\n allCheckboxLabel: {\n type: Object,\n \"default\": undefined\n },\n fileTypeCheckboxLabels: {\n type: Array,\n \"default\": undefined\n }\n },\n emits: ['update:selectedFileTypes', 'select-all-checked'],\n computed: {\n isAllChecked: {\n get: function get() {\n return this.selectedFileTypes.length === this.fileTypes.length;\n },\n set: function set(value) {\n if (value) {\n this.localSelectedFileTypes = this.fileTypes.slice();\n } else {\n this.localSelectedFileTypes = [];\n }\n this.$emit('select-all-checked', value);\n }\n },\n localSelectedFileTypes: {\n get: function get() {\n return this.selectedFileTypes;\n },\n set: function set(value) {\n this.$emit('update:selectedFileTypes', value);\n }\n }\n },\n methods: {\n getFontColor: function getFontColor(color) {\n return window.getFontColor(color);\n },\n getTitle: function getTitle(label) {\n return \"\".concat(label.fileTitle, \": Blank: \").concat(label.blankLineCount, \", \") + \"Non-Blank: \".concat(label.lineCount - label.blankLineCount);\n },\n getLabel: function getLabel(label) {\n return \"\".concat(label.fileType, \"\\xA0\\xA0\") + \"\".concat(label.blankLineCount, \"\\xA0\\xA0\") + \"(\".concat(label.lineCount - label.blankLineCount, \")\\xA0\");\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-ramp.vue?vue&type=script&lang=ts": /*!**************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-ramp.vue?vue&type=script&lang=ts ***! @@ -126,7 +137,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js */ \"./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.set.js */ \"./node_modules/core-js/modules/es.set.js\");\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ \"./node_modules/core-js/modules/es.array.some.js\");\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var minimatch__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! minimatch */ \"./node_modules/minimatch/dist/esm/index.js\");\n/* harmony import */ var _mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../mixin/brokenLinkMixin */ \"./src/mixin/brokenLinkMixin.ts\");\n/* harmony import */ var _components_c_authorship_file_vue__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../components/c-authorship-file.vue */ \"./src/components/c-authorship-file.vue\");\n/* harmony import */ var _utils_random_color_generator__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../utils/random-color-generator */ \"./src/utils/random-color-generator.ts\");\n/* harmony import */ var _types_authorship__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../types/authorship */ \"./src/types/authorship.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar filesSortDict = {\n linesOfCode: function linesOfCode(file) {\n return file.lineCount;\n },\n path: function path(file) {\n return file.path;\n },\n fileName: function fileName(file) {\n return file.path.split(/[/]+/).pop() || '';\n },\n fileType: function fileType(file) {\n return file.fileType;\n }\n};\nfunction authorshipInitialState() {\n return {\n isLoaded: false,\n selectedFiles: [],\n filterType: _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilterType.Checkboxes,\n selectedFileTypes: [],\n fileTypes: [],\n filesLinesObj: {},\n fileTypeBlankLinesObj: {},\n filesSortType: _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilesSortType.LinesOfCode,\n toReverseSortFiles: true,\n isBinaryFilesChecked: false,\n isIgnoredFilesChecked: false,\n searchBarValue: '',\n authorDisplayName: '',\n authors: new Set(),\n selectedColors: ['#1e90ff', '#f08080', '#00ff7f', '#ffd700', '#ba55d3', '#adff2f', '#808000', '#800000', '#ff8c00', '#c71585']\n };\n}\nvar repoCache = [];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_28__.defineComponent)({\n name: 'c-authorship',\n components: {\n cAuthorshipFile: _components_c_authorship_file_vue__WEBPACK_IMPORTED_MODULE_31__[\"default\"]\n },\n mixins: [_mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_30__[\"default\"]],\n emits: ['deactivate-tab'],\n data: function data() {\n return authorshipInitialState();\n },\n computed: (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n sortingFunction: function sortingFunction() {\n var _this = this;\n return function (a, b) {\n return (_this.toReverseSortFiles ? -1 : 1) * window.comparator(filesSortDict[_this.filesSortType])(a, b);\n };\n },\n isSelectAllChecked: {\n get: function get() {\n return this.selectedFileTypes.length === this.fileTypes.length;\n },\n set: function set(value) {\n if (value) {\n this.selectedFileTypes = this.fileTypes.slice();\n } else {\n this.selectedFileTypes = [];\n }\n this.indicateCheckBoxes();\n }\n },\n isBinaryChecked: {\n get: function get() {\n return this.isBinaryFilesChecked;\n },\n set: function set(value) {\n if (value) {\n this.isBinaryFilesChecked = true;\n } else {\n this.isBinaryFilesChecked = false;\n }\n this.updateSelectedFiles();\n this.indicateCheckBoxes();\n }\n },\n isIgnoredChecked: {\n get: function get() {\n return this.isIgnoredFilesChecked;\n },\n set: function set(value) {\n if (value) {\n this.isIgnoredFilesChecked = true;\n } else {\n this.isIgnoredFilesChecked = false;\n }\n this.updateSelectedFiles();\n this.indicateCheckBoxes();\n }\n },\n activeFilesCount: function activeFilesCount() {\n return this.selectedFiles.filter(function (file) {\n return file.active;\n }).length;\n },\n totalLineCount: function totalLineCount() {\n return Object.values(this.fileTypeLinesObj).reduce(function (acc, val) {\n return acc + val;\n }, 0);\n },\n totalBlankLineCount: function totalBlankLineCount() {\n return Object.values(this.fileTypeBlankLinesObj).reduce(function (acc, val) {\n return acc + val;\n }, 0);\n },\n fileTypeLinesObj: function fileTypeLinesObj() {\n var numLinesModified = {};\n Object.entries(this.filesLinesObj).filter(function (_ref) {\n var _ref2 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref, 2),\n value = _ref2[1];\n return value > 0;\n }).forEach(function (_ref3) {\n var _ref4 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref3, 2),\n langType = _ref4[0],\n value = _ref4[1];\n numLinesModified[langType] = value;\n });\n return numLinesModified;\n },\n binaryFilesCount: function binaryFilesCount() {\n return this.info.files.filter(function (file) {\n return file.isBinary;\n }).length;\n },\n ignoredFilesCount: function ignoredFilesCount() {\n return this.info.files.filter(function (file) {\n return file.isIgnored;\n }).length;\n }\n }, (0,vuex__WEBPACK_IMPORTED_MODULE_34__.mapState)({\n fileTypeColors: function fileTypeColors(state) {\n return state.fileTypeColors;\n },\n info: function info(state) {\n return state.tabAuthorshipInfo;\n },\n authorColors: function authorColors(state) {\n return state.tabAuthorColors;\n }\n })),\n watch: {\n filesSortType: function filesSortType() {\n window.addHash('authorshipSortBy', this.filesSortType);\n window.encodeHash();\n this.updateSelectedFiles();\n },\n searchBarValue: function searchBarValue() {\n this.updateSelectedFiles();\n },\n selectedFileTypes: {\n deep: true,\n handler: function handler() {\n this.updateSelectedFiles();\n }\n },\n toReverseSortFiles: function toReverseSortFiles() {\n window.addHash('reverseAuthorshipOrder', this.toReverseSortFiles);\n window.encodeHash();\n this.updateSelectedFiles();\n },\n info: function info() {\n Object.assign(this.$data, authorshipInitialState());\n this.initiate();\n }\n },\n created: function created() {\n this.initiate();\n },\n beforeUnmount: function beforeUnmount() {\n this.removeAuthorshipHashes();\n },\n methods: {\n retrieveHashes: function retrieveHashes() {\n var _this2 = this;\n var hash = window.hashParams;\n switch (hash.authorshipSortBy) {\n case _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilesSortType.Path:\n case _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilesSortType.FileName:\n case _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilesSortType.FileType:\n this.filesSortType = hash.authorshipSortBy;\n break;\n default:\n // Invalid value, use the default value of 'linesOfCode'\n }\n this.toReverseSortFiles = hash.reverseAuthorshipOrder !== 'false';\n if (hash.authorshipFileTypes) {\n this.selectedFileTypes = hash.authorshipFileTypes.split(window.HASH_DELIMITER).filter(function (fileType) {\n return _this2.fileTypes.includes(fileType);\n });\n } else {\n this.resetSelectedFileTypes();\n }\n if (hash.authorshipIsBinaryFileTypeChecked) {\n this.isBinaryFilesChecked = hash.authorshipIsBinaryFileTypeChecked === 'true';\n }\n if (hash.authorshipIsIgnoredFilesChecked) {\n this.isIgnoredFilesChecked = hash.authorshipIsIgnoredFilesChecked === 'true';\n }\n if ('authorshipFilesGlob' in hash) {\n this.indicateSearchBar();\n this.searchBarValue = hash.authorshipFilesGlob;\n }\n },\n resetSelectedFileTypes: function resetSelectedFileTypes() {\n var _this3 = this;\n this.selectedFileTypes = this.info.checkedFileTypes ? this.info.checkedFileTypes.filter(function (fileType) {\n return _this3.fileTypes.includes(fileType);\n }) : [];\n },\n setInfoHash: function setInfoHash() {\n var _window = window,\n addHash = _window.addHash;\n // We only set these hashes as they are propagated from summary_charts\n addHash('tabAuthor', this.info.author);\n addHash('tabRepo', this.info.repo);\n addHash('authorshipIsMergeGroup', this.info.isMergeGroup);\n this.updateFileTypeHash();\n },\n removeAuthorshipHashes: function removeAuthorshipHashes() {\n window.removeHash('authorshipFileTypes');\n window.removeHash('authorshipIsBinaryFileTypeChecked');\n window.removeHash('authorshipIsIgnoredFilesChecked');\n window.removeHash('authorshipFilesGlob');\n window.removeHash('authorshipSortBy');\n window.removeHash('reverseAuthorshipOrder');\n window.removeHash('tabAuthor');\n window.removeHash('tabRepo');\n window.removeHash('authorshipIsMergeGroup');\n window.encodeHash();\n },\n initiate: function initiate() {\n var _this4 = this;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().mark(function _callee() {\n var _repo$users;\n var repo, toRemove, files, author;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n repo = window.REPOS[_this4.info.repo];\n if (!(!repo || !_this4.info.author)) {\n _context.next = 4;\n break;\n }\n _this4.$store.commit('updateTabState', false);\n return _context.abrupt(\"return\");\n case 4:\n if (repoCache.length === 2) {\n toRemove = repoCache.shift();\n if (toRemove && toRemove !== _this4.info.repo) {\n delete window.REPOS[toRemove].files;\n }\n }\n repoCache.push(_this4.info.repo);\n files = repo.files;\n if (files) {\n _context.next = 11;\n break;\n }\n _context.next = 10;\n return window.api.loadAuthorship(_this4.info.repo);\n case 10:\n files = _context.sent;\n case 11:\n author = (_repo$users = repo.users) === null || _repo$users === void 0 ? void 0 : _repo$users.find(function (user) {\n return user.name === _this4.info.author;\n });\n if (author) {\n _this4.authorDisplayName = author.displayName;\n }\n _this4.processFiles(files);\n if (_this4.info.isRefresh) {\n _this4.retrieveHashes();\n } else {\n _this4.resetSelectedFileTypes();\n }\n _this4.setInfoHash();\n case 16:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n },\n getAuthors: function getAuthors(file) {\n var _file$segments;\n return Array.from(new Set((_file$segments = file.segments) === null || _file$segments === void 0 ? void 0 : _file$segments.map(function (segment) {\n return segment.knownAuthor;\n }).filter(Boolean))).sort().slice(0, 50);\n },\n toggleAllFileActiveProperty: function toggleAllFileActiveProperty(isActive) {\n this.$store.commit('setAllAuthorshipFileActiveProperty', {\n isActive: isActive,\n files: this.selectedFiles\n });\n },\n toggleFileActiveProperty: function toggleFileActiveProperty(file) {\n this.$store.commit('toggleAuthorshipFileActiveProperty', file);\n },\n isUnknownAuthor: function isUnknownAuthor(name) {\n return name === '-';\n },\n splitSegments: function splitSegments(lines) {\n var _this5 = this;\n // split into segments separated by knownAuthor\n var lastState;\n var lastId = -1;\n var segments = [];\n var blankLineCount = 0;\n lines.forEach(function (line, lineCount) {\n var isAuthorMatched = _this5.info.isMergeGroup ? !_this5.isUnknownAuthor(line.author.gitId) : line.author.gitId === _this5.info.author;\n var knownAuthor = line.author && isAuthorMatched ? line.author.gitId : null;\n if (knownAuthor !== lastState || lastId === -1) {\n segments.push({\n knownAuthor: knownAuthor,\n lineNumbers: [],\n lines: []\n });\n lastId += 1;\n lastState = knownAuthor;\n }\n var content = line.content || ' ';\n segments[lastId].lines.push(content);\n segments[lastId].lineNumbers.push(lineCount + 1);\n if (line.content === '' && knownAuthor) {\n blankLineCount += 1;\n }\n if (knownAuthor) {\n _this5.authors.add(knownAuthor);\n }\n });\n return {\n segments: segments,\n blankLineCount: blankLineCount\n };\n },\n assignAuthorColors: function assignAuthorColors() {\n var _this6 = this;\n var authorColorIndex = 0;\n var authorColors = {};\n if (this.info.isMergeGroup) {\n this.authors.forEach(function (author) {\n if (authorColorIndex < _this6.selectedColors.length) {\n authorColors[author] = _this6.selectedColors[authorColorIndex];\n authorColorIndex += 1;\n } else {\n authorColors[author] = (0,_utils_random_color_generator__WEBPACK_IMPORTED_MODULE_32__[\"default\"])(Object.values(authorColors));\n }\n });\n }\n this.$store.commit('updateAuthorColors', authorColors);\n },\n processFiles: function processFiles(files) {\n var _this7 = this;\n var SINGLE_FILE_LINE_COUNT_THRESHOLD = 2000;\n var SINGLE_FILE_CHAR_COUNT_THRESHOLD = 1000000;\n var res = [];\n var fileTypeBlanksInfoObj = {};\n files.filter(function (file) {\n return _this7.isValidFile(file);\n }).forEach(function (file) {\n var contributionMap = file.authorContributionMap;\n var lineCnt = _this7.info.isMergeGroup ? _this7.getContributionFromAllAuthors(contributionMap) : contributionMap[_this7.info.author];\n var out = {\n path: file.path,\n lineCount: lineCnt,\n active: lineCnt <= SINGLE_FILE_LINE_COUNT_THRESHOLD && !file.isBinary,\n wasCodeLoaded: lineCnt <= SINGLE_FILE_LINE_COUNT_THRESHOLD,\n fileType: file.fileType,\n isIgnored: !!file.isIgnored,\n isBinary: !!file.isBinary\n };\n if (_this7.filesLinesObj[out.fileType]) {\n _this7.filesLinesObj[out.fileType] += lineCnt;\n } else {\n _this7.filesLinesObj[out.fileType] = lineCnt;\n }\n if (!out.isBinary && !out.isIgnored) {\n out.charCount = file.lines.reduce(function (count, line) {\n return count + (line ? line.content.length : 0);\n }, 0);\n }\n if (!file.isBinary) {\n var segmentInfo = _this7.splitSegments(file.lines);\n out.segments = segmentInfo.segments;\n out.blankLineCount = segmentInfo.blankLineCount;\n _this7.addBlankLineCount(file.fileType, segmentInfo.blankLineCount, fileTypeBlanksInfoObj);\n }\n res.push(out);\n });\n res.sort(function (a, b) {\n return b.lineCount - a.lineCount;\n }).forEach(function (file) {\n // hide files over total char count limit\n if (!file.isIgnored && !file.isBinary && file.active && file.charCount !== undefined) {\n file.active = file.charCount <= SINGLE_FILE_CHAR_COUNT_THRESHOLD;\n file.wasCodeLoaded = file.active;\n }\n });\n Object.keys(this.filesLinesObj).forEach(function (file) {\n if (_this7.filesLinesObj[file] !== 0) {\n _this7.fileTypes.push(file);\n }\n });\n this.assignAuthorColors();\n this.fileTypeBlankLinesObj = fileTypeBlanksInfoObj;\n this.$store.commit('updateTabAuthorshipFiles', res);\n this.updateSelectedFiles(true);\n },\n isValidFile: function isValidFile(file) {\n var _this8 = this;\n return this.info.isMergeGroup ? Object.entries(file.authorContributionMap).some(function (authorCount) {\n return !_this8.isUnknownAuthor(authorCount[0]);\n }) : this.info.author in file.authorContributionMap;\n },\n getContributionFromAllAuthors: function getContributionFromAllAuthors(contributionMap) {\n var _this9 = this;\n return Object.entries(contributionMap).reduce(function (acc, _ref5) {\n var _ref6 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref5, 2),\n author = _ref6[0],\n cnt = _ref6[1];\n return !_this9.isUnknownAuthor(author) ? acc + cnt : acc;\n }, 0);\n },\n addBlankLineCount: function addBlankLineCount(fileType, lineCount, filesInfoObj) {\n if (!filesInfoObj[fileType]) {\n filesInfoObj[fileType] = 0;\n }\n filesInfoObj[fileType] += lineCount;\n },\n updateSearchBarValue: function updateSearchBarValue() {\n this.searchBarValue = this.$refs.searchBar.value;\n window.addHash('authorshipFilesGlob', this.searchBarValue);\n window.removeHash('authorshipFileTypes');\n window.removeHash('authorshipIsBinaryFileTypeChecked');\n window.removeHash('authorshipIsIgnoredFilesChecked');\n window.encodeHash();\n },\n updateFileTypeHash: function updateFileTypeHash() {\n var fileTypeHash = this.selectedFileTypes.length > 0 ? this.selectedFileTypes.reduce(function (a, b) {\n return \"\".concat(a, \"~\").concat(b);\n }) : '';\n window.addHash('authorshipFileTypes', fileTypeHash);\n window.addHash('authorshipIsBinaryFileTypeChecked', this.isBinaryFilesChecked);\n window.addHash('authorshipIsIgnoredFilesChecked', this.isIgnoredFilesChecked);\n window.removeHash('authorshipFilesGlob');\n window.encodeHash();\n },\n updateSelectedFiles: function updateSelectedFiles() {\n var _arguments = arguments,\n _this10 = this;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().mark(function _callee2() {\n var setIsLoaded;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n setIsLoaded = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : false;\n _context2.next = 3;\n return _this10.$store.dispatch('incrementLoadingOverlayCountForceReload', 1);\n case 3:\n _this10.selectedFiles = _this10.info.files.filter(function (file) {\n return (_this10.selectedFileTypes.includes(file.fileType) && !file.isBinary && !file.isIgnored || file.isBinary && _this10.isBinaryFilesChecked || file.isIgnored && _this10.isIgnoredFilesChecked) && (0,minimatch__WEBPACK_IMPORTED_MODULE_29__.minimatch)(file.path, _this10.searchBarValue || '*', {\n matchBase: true,\n dot: true\n });\n }).sort(_this10.sortingFunction);\n if (setIsLoaded) {\n _this10.isLoaded = true;\n }\n _context2.next = 7;\n return _this10.$store.dispatch('incrementLoadingOverlayCountForceReload', -1);\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n },\n indicateSearchBar: function indicateSearchBar() {\n this.selectedFileTypes = this.fileTypes.slice();\n this.isBinaryFilesChecked = true;\n this.isIgnoredFilesChecked = true;\n this.filterType = _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilterType.Search;\n },\n indicateCheckBoxes: function indicateCheckBoxes() {\n this.searchBarValue = '';\n this.filterType = _types_authorship__WEBPACK_IMPORTED_MODULE_33__.FilterType.Checkboxes;\n this.updateFileTypeHash();\n },\n getFileTypeBlankLineInfo: function getFileTypeBlankLineInfo(fileType) {\n return \"\".concat(fileType, \": Blank: \").concat(this.fileTypeBlankLinesObj[fileType], \",\\n Non-Blank: \").concat(this.filesLinesObj[fileType] - this.fileTypeBlankLinesObj[fileType]);\n },\n getTotalFileBlankLineInfo: function getTotalFileBlankLineInfo() {\n return \"Total: Blank: \".concat(this.totalBlankLineCount, \", Non-Blank: \").concat(this.totalLineCount - this.totalBlankLineCount);\n },\n getFontColor: function getFontColor(color) {\n return window.getFontColor(color);\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/views/c-authorship.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js */ \"./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.set.js */ \"./node_modules/core-js/modules/es.set.js\");\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ \"./node_modules/core-js/modules/es.array.some.js\");\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var minimatch__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! minimatch */ \"./node_modules/minimatch/dist/esm/index.js\");\n/* harmony import */ var _mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../mixin/brokenLinkMixin */ \"./src/mixin/brokenLinkMixin.ts\");\n/* harmony import */ var _components_c_authorship_file_vue__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../components/c-authorship-file.vue */ \"./src/components/c-authorship-file.vue\");\n/* harmony import */ var _components_c_file_type_checkboxes_vue__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../components/c-file-type-checkboxes.vue */ \"./src/components/c-file-type-checkboxes.vue\");\n/* harmony import */ var _utils_random_color_generator__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../utils/random-color-generator */ \"./src/utils/random-color-generator.ts\");\n/* harmony import */ var _types_authorship__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../types/authorship */ \"./src/types/authorship.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar filesSortDict = {\n linesOfCode: function linesOfCode(file) {\n return file.lineCount;\n },\n path: function path(file) {\n return file.path;\n },\n fileName: function fileName(file) {\n return file.path.split(/[/]+/).pop() || '';\n },\n fileType: function fileType(file) {\n return file.fileType;\n }\n};\nfunction authorshipInitialState() {\n return {\n isLoaded: false,\n selectedFiles: [],\n filterType: _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilterType.Checkboxes,\n selectedFileTypes: [],\n fileTypes: [],\n filesLinesObj: {},\n fileTypeBlankLinesObj: {},\n filesSortType: _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilesSortType.LinesOfCode,\n toReverseSortFiles: true,\n isBinaryFilesChecked: false,\n isIgnoredFilesChecked: false,\n searchBarValue: '',\n authorDisplayName: '',\n authors: new Set(),\n selectedColors: ['#1e90ff', '#f08080', '#00ff7f', '#ffd700', '#ba55d3', '#adff2f', '#808000', '#800000', '#ff8c00', '#c71585']\n };\n}\nvar repoCache = [];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_28__.defineComponent)({\n name: 'c-authorship',\n components: {\n cAuthorshipFile: _components_c_authorship_file_vue__WEBPACK_IMPORTED_MODULE_31__[\"default\"],\n cFileTypeCheckboxes: _components_c_file_type_checkboxes_vue__WEBPACK_IMPORTED_MODULE_32__[\"default\"]\n },\n mixins: [_mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_30__[\"default\"]],\n emits: ['deactivate-tab'],\n data: function data() {\n return authorshipInitialState();\n },\n computed: (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n sortingFunction: function sortingFunction() {\n var _this = this;\n return function (a, b) {\n return (_this.toReverseSortFiles ? -1 : 1) * window.comparator(filesSortDict[_this.filesSortType])(a, b);\n };\n },\n isBinaryChecked: {\n get: function get() {\n return this.isBinaryFilesChecked;\n },\n set: function set(value) {\n if (value) {\n this.isBinaryFilesChecked = true;\n } else {\n this.isBinaryFilesChecked = false;\n }\n this.updateSelectedFiles();\n this.indicateCheckBoxes();\n }\n },\n isIgnoredChecked: {\n get: function get() {\n return this.isIgnoredFilesChecked;\n },\n set: function set(value) {\n if (value) {\n this.isIgnoredFilesChecked = true;\n } else {\n this.isIgnoredFilesChecked = false;\n }\n this.updateSelectedFiles();\n this.indicateCheckBoxes();\n }\n },\n activeFilesCount: function activeFilesCount() {\n return this.selectedFiles.filter(function (file) {\n return file.active;\n }).length;\n },\n totalLineCount: function totalLineCount() {\n return Object.values(this.fileTypeLinesObj).reduce(function (acc, val) {\n return acc + val;\n }, 0);\n },\n totalBlankLineCount: function totalBlankLineCount() {\n return Object.values(this.fileTypeBlankLinesObj).reduce(function (acc, val) {\n return acc + val;\n }, 0);\n },\n fileTypeLinesObj: function fileTypeLinesObj() {\n var numLinesModified = {};\n Object.entries(this.filesLinesObj).filter(function (_ref) {\n var _ref2 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref, 2),\n value = _ref2[1];\n return value > 0;\n }).forEach(function (_ref3) {\n var _ref4 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref3, 2),\n langType = _ref4[0],\n value = _ref4[1];\n numLinesModified[langType] = value;\n });\n return numLinesModified;\n },\n binaryFilesCount: function binaryFilesCount() {\n return this.info.files.filter(function (file) {\n return file.isBinary;\n }).length;\n },\n ignoredFilesCount: function ignoredFilesCount() {\n return this.info.files.filter(function (file) {\n return file.isIgnored;\n }).length;\n },\n allCheckboxLabel: function allCheckboxLabel() {\n return this.getCheckboxDetails('Total', 'All', this.totalLineCount, this.totalBlankLineCount);\n },\n checkboxLabels: function checkboxLabels() {\n var _this2 = this;\n return this.fileTypes.map(function (fileType) {\n return _this2.getCheckboxDetails(fileType, fileType, _this2.fileTypeLinesObj[fileType], _this2.fileTypeBlankLinesObj[fileType]);\n });\n }\n }, (0,vuex__WEBPACK_IMPORTED_MODULE_35__.mapState)({\n fileTypeColors: function fileTypeColors(state) {\n return state.fileTypeColors;\n },\n info: function info(state) {\n return state.tabAuthorshipInfo;\n },\n authorColors: function authorColors(state) {\n return state.tabAuthorColors;\n }\n })),\n watch: {\n filesSortType: function filesSortType() {\n window.addHash('authorshipSortBy', this.filesSortType);\n window.encodeHash();\n this.updateSelectedFiles();\n },\n searchBarValue: function searchBarValue() {\n this.updateSelectedFiles();\n },\n selectedFileTypes: {\n deep: true,\n handler: function handler() {\n this.updateSelectedFiles();\n }\n },\n toReverseSortFiles: function toReverseSortFiles() {\n window.addHash('reverseAuthorshipOrder', this.toReverseSortFiles);\n window.encodeHash();\n this.updateSelectedFiles();\n },\n info: function info() {\n Object.assign(this.$data, authorshipInitialState());\n this.initiate();\n }\n },\n created: function created() {\n this.initiate();\n },\n beforeUnmount: function beforeUnmount() {\n this.removeAuthorshipHashes();\n },\n methods: {\n retrieveHashes: function retrieveHashes() {\n var _this3 = this;\n var hash = window.hashParams;\n switch (hash.authorshipSortBy) {\n case _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilesSortType.Path:\n case _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilesSortType.FileName:\n case _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilesSortType.FileType:\n this.filesSortType = hash.authorshipSortBy;\n break;\n default:\n // Invalid value, use the default value of 'linesOfCode'\n }\n this.toReverseSortFiles = hash.reverseAuthorshipOrder !== 'false';\n if (hash.authorshipFileTypes) {\n this.selectedFileTypes = hash.authorshipFileTypes.split(window.HASH_DELIMITER).filter(function (fileType) {\n return _this3.fileTypes.includes(fileType);\n });\n } else {\n this.resetSelectedFileTypes();\n }\n if (hash.authorshipIsBinaryFileTypeChecked) {\n this.isBinaryFilesChecked = hash.authorshipIsBinaryFileTypeChecked === 'true';\n }\n if (hash.authorshipIsIgnoredFilesChecked) {\n this.isIgnoredFilesChecked = hash.authorshipIsIgnoredFilesChecked === 'true';\n }\n if ('authorshipFilesGlob' in hash) {\n this.indicateSearchBar();\n this.searchBarValue = hash.authorshipFilesGlob;\n }\n },\n resetSelectedFileTypes: function resetSelectedFileTypes() {\n var _this4 = this;\n this.selectedFileTypes = this.info.checkedFileTypes ? this.info.checkedFileTypes.filter(function (fileType) {\n return _this4.fileTypes.includes(fileType);\n }) : [];\n },\n setInfoHash: function setInfoHash() {\n var _window = window,\n addHash = _window.addHash;\n // We only set these hashes as they are propagated from summary_charts\n addHash('tabAuthor', this.info.author);\n addHash('tabRepo', this.info.repo);\n addHash('authorshipIsMergeGroup', this.info.isMergeGroup);\n this.updateFileTypeHash();\n },\n removeAuthorshipHashes: function removeAuthorshipHashes() {\n window.removeHash('authorshipFileTypes');\n window.removeHash('authorshipIsBinaryFileTypeChecked');\n window.removeHash('authorshipIsIgnoredFilesChecked');\n window.removeHash('authorshipFilesGlob');\n window.removeHash('authorshipSortBy');\n window.removeHash('reverseAuthorshipOrder');\n window.removeHash('tabAuthor');\n window.removeHash('tabRepo');\n window.removeHash('authorshipIsMergeGroup');\n window.encodeHash();\n },\n initiate: function initiate() {\n var _this5 = this;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().mark(function _callee() {\n var _repo$users;\n var repo, toRemove, files, author;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n repo = window.REPOS[_this5.info.repo];\n if (!(!repo || !_this5.info.author)) {\n _context.next = 4;\n break;\n }\n _this5.$store.commit('updateTabState', false);\n return _context.abrupt(\"return\");\n case 4:\n if (repoCache.length === 2) {\n toRemove = repoCache.shift();\n if (toRemove && toRemove !== _this5.info.repo) {\n delete window.REPOS[toRemove].files;\n }\n }\n repoCache.push(_this5.info.repo);\n files = repo.files;\n if (files) {\n _context.next = 11;\n break;\n }\n _context.next = 10;\n return window.api.loadAuthorship(_this5.info.repo);\n case 10:\n files = _context.sent;\n case 11:\n author = (_repo$users = repo.users) === null || _repo$users === void 0 ? void 0 : _repo$users.find(function (user) {\n return user.name === _this5.info.author;\n });\n if (author) {\n _this5.authorDisplayName = author.displayName;\n }\n _this5.processFiles(files);\n if (_this5.info.isRefresh) {\n _this5.retrieveHashes();\n } else {\n _this5.resetSelectedFileTypes();\n }\n _this5.setInfoHash();\n case 16:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n },\n getAuthors: function getAuthors(file) {\n var _file$segments;\n return Array.from(new Set((_file$segments = file.segments) === null || _file$segments === void 0 ? void 0 : _file$segments.map(function (segment) {\n return segment.knownAuthor;\n }).filter(Boolean))).sort().slice(0, 50);\n },\n toggleAllFileActiveProperty: function toggleAllFileActiveProperty(isActive) {\n this.$store.commit('setAllAuthorshipFileActiveProperty', {\n isActive: isActive,\n files: this.selectedFiles\n });\n },\n toggleFileActiveProperty: function toggleFileActiveProperty(file) {\n this.$store.commit('toggleAuthorshipFileActiveProperty', file);\n },\n isUnknownAuthor: function isUnknownAuthor(name) {\n return name === '-';\n },\n splitSegments: function splitSegments(lines) {\n var _this6 = this;\n // split into segments separated by knownAuthor\n var lastState;\n var lastId = -1;\n var segments = [];\n var blankLineCount = 0;\n lines.forEach(function (line, lineCount) {\n var isAuthorMatched = _this6.info.isMergeGroup ? !_this6.isUnknownAuthor(line.author.gitId) : line.author.gitId === _this6.info.author;\n var knownAuthor = line.author && isAuthorMatched ? line.author.gitId : null;\n if (knownAuthor !== lastState || lastId === -1) {\n segments.push({\n knownAuthor: knownAuthor,\n lineNumbers: [],\n lines: []\n });\n lastId += 1;\n lastState = knownAuthor;\n }\n var content = line.content || ' ';\n segments[lastId].lines.push(content);\n segments[lastId].lineNumbers.push(lineCount + 1);\n if (line.content === '' && knownAuthor) {\n blankLineCount += 1;\n }\n if (knownAuthor) {\n _this6.authors.add(knownAuthor);\n }\n });\n return {\n segments: segments,\n blankLineCount: blankLineCount\n };\n },\n assignAuthorColors: function assignAuthorColors() {\n var _this7 = this;\n var authorColorIndex = 0;\n var authorColors = {};\n if (this.info.isMergeGroup) {\n this.authors.forEach(function (author) {\n if (authorColorIndex < _this7.selectedColors.length) {\n authorColors[author] = _this7.selectedColors[authorColorIndex];\n authorColorIndex += 1;\n } else {\n authorColors[author] = (0,_utils_random_color_generator__WEBPACK_IMPORTED_MODULE_33__[\"default\"])(Object.values(authorColors));\n }\n });\n }\n this.$store.commit('updateAuthorColors', authorColors);\n },\n processFiles: function processFiles(files) {\n var _this8 = this;\n var SINGLE_FILE_LINE_COUNT_THRESHOLD = 2000;\n var SINGLE_FILE_CHAR_COUNT_THRESHOLD = 1000000;\n var res = [];\n var fileTypeBlanksInfoObj = {};\n files.filter(function (file) {\n return _this8.isValidFile(file);\n }).forEach(function (file) {\n var contributionMap = file.authorContributionMap;\n var lineCnt = _this8.info.isMergeGroup ? _this8.getContributionFromAllAuthors(contributionMap) : contributionMap[_this8.info.author];\n var out = {\n path: file.path,\n lineCount: lineCnt,\n active: lineCnt <= SINGLE_FILE_LINE_COUNT_THRESHOLD && !file.isBinary,\n wasCodeLoaded: lineCnt <= SINGLE_FILE_LINE_COUNT_THRESHOLD,\n fileType: file.fileType,\n isIgnored: !!file.isIgnored,\n isBinary: !!file.isBinary\n };\n if (_this8.filesLinesObj[out.fileType]) {\n _this8.filesLinesObj[out.fileType] += lineCnt;\n } else {\n _this8.filesLinesObj[out.fileType] = lineCnt;\n }\n if (!out.isBinary && !out.isIgnored) {\n out.charCount = file.lines.reduce(function (count, line) {\n return count + (line ? line.content.length : 0);\n }, 0);\n }\n if (!file.isBinary) {\n var segmentInfo = _this8.splitSegments(file.lines);\n out.segments = segmentInfo.segments;\n out.blankLineCount = segmentInfo.blankLineCount;\n _this8.addBlankLineCount(file.fileType, segmentInfo.blankLineCount, fileTypeBlanksInfoObj);\n }\n res.push(out);\n });\n res.sort(function (a, b) {\n return b.lineCount - a.lineCount;\n }).forEach(function (file) {\n // hide files over total char count limit\n if (!file.isIgnored && !file.isBinary && file.active && file.charCount !== undefined) {\n file.active = file.charCount <= SINGLE_FILE_CHAR_COUNT_THRESHOLD;\n file.wasCodeLoaded = file.active;\n }\n });\n Object.keys(this.filesLinesObj).forEach(function (file) {\n if (_this8.filesLinesObj[file] !== 0) {\n _this8.fileTypes.push(file);\n }\n });\n this.assignAuthorColors();\n this.fileTypeBlankLinesObj = fileTypeBlanksInfoObj;\n this.$store.commit('updateTabAuthorshipFiles', res);\n this.updateSelectedFiles(true);\n },\n isValidFile: function isValidFile(file) {\n var _this9 = this;\n return this.info.isMergeGroup ? Object.entries(file.authorContributionMap).some(function (authorCount) {\n return !_this9.isUnknownAuthor(authorCount[0]);\n }) : this.info.author in file.authorContributionMap;\n },\n getContributionFromAllAuthors: function getContributionFromAllAuthors(contributionMap) {\n var _this10 = this;\n return Object.entries(contributionMap).reduce(function (acc, _ref5) {\n var _ref6 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref5, 2),\n author = _ref6[0],\n cnt = _ref6[1];\n return !_this10.isUnknownAuthor(author) ? acc + cnt : acc;\n }, 0);\n },\n addBlankLineCount: function addBlankLineCount(fileType, lineCount, filesInfoObj) {\n if (!filesInfoObj[fileType]) {\n filesInfoObj[fileType] = 0;\n }\n filesInfoObj[fileType] += lineCount;\n },\n updateSearchBarValue: function updateSearchBarValue() {\n this.searchBarValue = this.$refs.searchBar.value;\n window.addHash('authorshipFilesGlob', this.searchBarValue);\n window.removeHash('authorshipFileTypes');\n window.removeHash('authorshipIsBinaryFileTypeChecked');\n window.removeHash('authorshipIsIgnoredFilesChecked');\n window.encodeHash();\n },\n updateFileTypeHash: function updateFileTypeHash() {\n var fileTypeHash = this.selectedFileTypes.length > 0 ? this.selectedFileTypes.reduce(function (a, b) {\n return \"\".concat(a, \"~\").concat(b);\n }) : '';\n window.addHash('authorshipFileTypes', fileTypeHash);\n window.addHash('authorshipIsBinaryFileTypeChecked', this.isBinaryFilesChecked);\n window.addHash('authorshipIsIgnoredFilesChecked', this.isIgnoredFilesChecked);\n window.removeHash('authorshipFilesGlob');\n window.encodeHash();\n },\n updateSelectedFiles: function updateSelectedFiles() {\n var _arguments = arguments,\n _this11 = this;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().mark(function _callee2() {\n var setIsLoaded;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n setIsLoaded = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : false;\n _context2.next = 3;\n return _this11.$store.dispatch('incrementLoadingOverlayCountForceReload', 1);\n case 3:\n _this11.selectedFiles = _this11.info.files.filter(function (file) {\n return (_this11.selectedFileTypes.includes(file.fileType) && !file.isBinary && !file.isIgnored || file.isBinary && _this11.isBinaryFilesChecked || file.isIgnored && _this11.isIgnoredFilesChecked) && (0,minimatch__WEBPACK_IMPORTED_MODULE_29__.minimatch)(file.path, _this11.searchBarValue || '*', {\n matchBase: true,\n dot: true\n });\n }).sort(_this11.sortingFunction);\n if (setIsLoaded) {\n _this11.isLoaded = true;\n }\n _context2.next = 7;\n return _this11.$store.dispatch('incrementLoadingOverlayCountForceReload', -1);\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n },\n indicateSearchBar: function indicateSearchBar() {\n this.selectedFileTypes = this.fileTypes.slice();\n this.isBinaryFilesChecked = true;\n this.isIgnoredFilesChecked = true;\n this.filterType = _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilterType.Search;\n },\n indicateCheckBoxes: function indicateCheckBoxes() {\n this.searchBarValue = '';\n this.filterType = _types_authorship__WEBPACK_IMPORTED_MODULE_34__.FilterType.Checkboxes;\n this.updateFileTypeHash();\n },\n getCheckboxDetails: function getCheckboxDetails(fileTitle, fileType, lineCount, blankLineCount) {\n return {\n fileTitle: fileTitle,\n fileType: fileType,\n lineCount: lineCount,\n blankLineCount: blankLineCount\n };\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/views/c-authorship.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -148,7 +159,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js */ \"./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/web.timers.js */ \"./node_modules/core-js/modules/web.timers.js\");\n/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ \"./node_modules/core-js/modules/es.parse-int.js\");\n/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ \"./node_modules/core-js/modules/es.array.some.js\");\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"./node_modules/core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.array.flat-map.js */ \"./node_modules/core-js/modules/es.array.flat-map.js\");\n/* harmony import */ var core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.array.unscopables.flat-map.js */ \"./node_modules/core-js/modules/es.array.unscopables.flat-map.js\");\n/* harmony import */ var core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_28__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_29__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__);\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ \"./node_modules/core-js/modules/es.date.to-string.js\");\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_31__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_32__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_33__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _components_c_summary_charts_vue__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../components/c-summary-charts.vue */ \"./src/components/c-summary-charts.vue\");\n/* harmony import */ var _utils_random_color_generator__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../utils/random-color-generator */ \"./src/utils/random-color-generator.ts\");\n/* harmony import */ var _utils_repo_sorter__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../utils/repo-sorter */ \"./src/utils/repo-sorter.ts\");\n/* harmony import */ var _types_types__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../types/types */ \"./src/types/types.ts\");\n/* harmony import */ var _types_summary__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../types/summary */ \"./src/types/summary.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar dateFormatRegex = /([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$/;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_34__.defineComponent)({\n name: 'c-summary',\n components: {\n cSummaryCharts: _components_c_summary_charts_vue__WEBPACK_IMPORTED_MODULE_35__[\"default\"]\n },\n props: {\n repos: {\n type: Array,\n required: true\n },\n errorMessages: {\n type: Object,\n \"default\": function _default() {\n return {};\n }\n },\n isWidgetMode: {\n type: Boolean,\n \"default\": false\n }\n },\n data: function data() {\n return {\n checkedFileTypes: [],\n fileTypes: [],\n filtered: [],\n filterSearch: '',\n filterGroupSelection: _types_summary__WEBPACK_IMPORTED_MODULE_39__.FilterGroupSelection.GroupByRepos,\n sortGroupSelection: _types_summary__WEBPACK_IMPORTED_MODULE_39__.SortGroupSelection.GroupTitleDsc,\n sortWithinGroupSelection: _types_summary__WEBPACK_IMPORTED_MODULE_39__.SortWithinGroupSelection.Title,\n sortingOption: '',\n isSortingDsc: '',\n sortingWithinOption: '',\n isSortingWithinDsc: '',\n filterTimeFrame: _types_summary__WEBPACK_IMPORTED_MODULE_39__.FilterTimeFrame.Commit,\n filterBreakdown: false,\n tmpFilterSinceDate: '',\n tmpFilterUntilDate: '',\n hasModifiedSinceDate: window.isSinceDateProvided,\n hasModifiedUntilDate: window.isUntilDateProvided,\n filterHash: '',\n minDate: window.sinceDate,\n maxDate: window.untilDate,\n fileTypeColors: {},\n isSafariBrowser: /.*Version.*Safari.*/.test(navigator.userAgent),\n filterGroupSelectionWatcherFlag: false,\n chartGroupIndex: undefined,\n chartIndex: undefined,\n errorIsShowingMore: false,\n numberOfErrorMessagesToShow: 4\n };\n },\n computed: (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n checkAllFileTypes: {\n get: function get() {\n return this.checkedFileTypes.length === this.fileTypes.length;\n },\n set: function set(value) {\n if (value) {\n this.checkedFileTypes = this.fileTypes.slice();\n } else {\n this.checkedFileTypes = [];\n }\n this.getFiltered();\n }\n },\n avgContributionSize: function avgContributionSize() {\n var _this = this;\n var totalLines = 0;\n var totalCount = 0;\n this.repos.forEach(function (repo) {\n var _repo$users;\n (_repo$users = repo.users) === null || _repo$users === void 0 ? void 0 : _repo$users.forEach(function (user) {\n if (user.checkedFileTypeContribution === undefined || user.checkedFileTypeContribution === 0) {\n _this.updateCheckedFileTypeContribution(user);\n }\n if (user.checkedFileTypeContribution && user.checkedFileTypeContribution > 0) {\n totalCount += 1;\n totalLines += user.checkedFileTypeContribution;\n }\n });\n });\n if (totalCount === 0) {\n return 0;\n }\n return totalLines / totalCount;\n },\n allGroupsMerged: {\n get: function get() {\n if (this.mergedGroups.length === 0) {\n return false;\n }\n return this.mergedGroups.length === this.filtered.length;\n },\n set: function set(value) {\n var _this2 = this;\n if (value) {\n var mergedGroups = [];\n this.filtered.forEach(function (group) {\n mergedGroups.push(_this2.getGroupName(group));\n });\n this.filtered = [];\n this.$store.commit('updateMergedGroup', mergedGroups);\n } else {\n this.$store.commit('updateMergedGroup', []);\n }\n }\n },\n filterSinceDate: function filterSinceDate() {\n if (this.tmpFilterSinceDate && this.tmpFilterSinceDate >= this.minDate) {\n return this.tmpFilterSinceDate;\n }\n // If user clears the since date field\n return this.minDate;\n },\n filterUntilDate: function filterUntilDate() {\n if (this.tmpFilterUntilDate && this.tmpFilterUntilDate <= this.maxDate) {\n return this.tmpFilterUntilDate;\n }\n return this.maxDate;\n }\n }, (0,vuex__WEBPACK_IMPORTED_MODULE_40__.mapState)(['mergedGroups'])),\n watch: {\n filterGroupSelection: function filterGroupSelection() {\n var _this3 = this;\n // Deactivates watcher\n if (!this.filterGroupSelectionWatcherFlag) {\n return;\n }\n var allGroupsMerged = this.allGroupsMerged;\n this.$store.dispatch('incrementLoadingOverlayCountForceReload', 1).then(function () {\n _this3.getFilteredRepos();\n _this3.updateMergedGroup(allGroupsMerged);\n }).then( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().mark(function _callee() {\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this3.$store.dispatch('incrementLoadingOverlayCountForceReload', -1);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n },\n '$store.state.summaryDates': function $storeStateSummaryDates() {\n this.hasModifiedSinceDate = true;\n this.hasModifiedUntilDate = true;\n this.tmpFilterSinceDate = this.$store.state.summaryDates.since;\n this.tmpFilterUntilDate = this.$store.state.summaryDates.until;\n window.deactivateAllOverlays();\n this.getFiltered();\n },\n mergedGroups: {\n deep: true,\n handler: function handler() {\n this.getFiltered();\n }\n }\n },\n created: function created() {\n this.processFileTypes();\n this.renderFilterHash();\n this.getFiltered();\n if (this.$store.state.tabZoomInfo.isRefreshing) {\n var zoomInfo = Object.assign({}, this.$store.state.tabZoomInfo);\n this.restoreZoomFiltered(zoomInfo);\n }\n },\n mounted: function mounted() {\n var _this4 = this;\n // Delay execution of filterGroupSelection watcher\n // to prevent clearing of merged groups\n setTimeout(function () {\n _this4.filterGroupSelectionWatcherFlag = true;\n }, 0);\n },\n methods: {\n dismissTab: function dismissTab(event) {\n if (event.target instanceof Element && event.target.parentNode instanceof HTMLElement) {\n event.target.parentNode.style.display = 'none';\n }\n },\n // view functions //\n getReportIssueGitHubLink: function getReportIssueGitHubLink(stackTrace) {\n return \"\".concat(window.REPOSENSE_REPO_URL, \"/issues/new?title=\").concat(this.getReportIssueTitle(), \"&body=\").concat(this.getReportIssueMessage(stackTrace));\n },\n getReportIssueEmailAddress: function getReportIssueEmailAddress() {\n return 'seer@comp.nus.edu.sg';\n },\n getReportIssueEmailLink: function getReportIssueEmailLink(stackTrace) {\n return \"mailto:\".concat(this.getReportIssueEmailAddress(), \"?subject=\").concat(this.getReportIssueTitle(), \"&body=\").concat(this.getReportIssueMessage(stackTrace));\n },\n getReportIssueTitle: function getReportIssueTitle() {\n return \"\".concat(encodeURI('Unexpected error with RepoSense version ')).concat(window.repoSenseVersion);\n },\n getReportIssueMessage: function getReportIssueMessage(message) {\n return encodeURI(message);\n },\n // model functions //\n resetFilterSearch: function resetFilterSearch() {\n this.filterSearch = '';\n this.getFiltered();\n },\n updateFilterSearch: function updateFilterSearch(evt) {\n // Only called from an input onchange event, target guaranteed to be input element\n this.filterSearch = evt.target.value;\n this.getFiltered();\n },\n setSummaryHash: function setSummaryHash() {\n var _window = window,\n addHash = _window.addHash,\n encodeHash = _window.encodeHash;\n addHash('search', this.filterSearch);\n addHash('sort', this.sortGroupSelection);\n addHash('sortWithin', this.sortWithinGroupSelection);\n if (this.hasModifiedSinceDate) {\n addHash('since', this.filterSinceDate);\n }\n if (this.hasModifiedUntilDate) {\n addHash('until', this.filterUntilDate);\n }\n addHash('timeframe', this.filterTimeFrame);\n var mergedGroupsHash = this.mergedGroups.join(window.HASH_DELIMITER);\n if (mergedGroupsHash.length === 0) {\n mergedGroupsHash = '';\n }\n addHash('mergegroup', mergedGroupsHash);\n addHash('groupSelect', this.filterGroupSelection);\n addHash('breakdown', this.filterBreakdown);\n if (this.filterBreakdown) {\n var checkedFileTypesHash = this.checkedFileTypes.length > 0 ? this.checkedFileTypes.join(window.HASH_DELIMITER) : '';\n addHash('checkedFileTypes', checkedFileTypesHash);\n } else {\n window.removeHash('checkedFileTypes');\n }\n encodeHash();\n },\n renderFilterHash: function renderFilterHash() {\n var _this5 = this;\n var convertBool = function convertBool(txt) {\n return txt === 'true';\n };\n var hash = Object.assign({}, window.hashParams);\n if (hash.search) {\n this.filterSearch = hash.search;\n }\n if (hash.sort && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_39__.SortGroupSelection).includes(hash.sort)) {\n this.sortGroupSelection = hash.sort;\n }\n if (hash.sortWithin && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_39__.SortWithinGroupSelection).includes(hash.sortWithin)) {\n this.sortWithinGroupSelection = hash.sortWithin;\n }\n if (hash.timeframe && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_39__.FilterTimeFrame).includes(hash.timeframe)) {\n this.filterTimeFrame = hash.timeframe;\n }\n if (hash.mergegroup) {\n this.$store.commit('updateMergedGroup', hash.mergegroup.split(window.HASH_DELIMITER));\n }\n if (hash.since && dateFormatRegex.test(hash.since)) {\n this.tmpFilterSinceDate = hash.since;\n }\n if (hash.until && dateFormatRegex.test(hash.until)) {\n this.tmpFilterUntilDate = hash.until;\n }\n if (hash.groupSelect && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_39__.FilterGroupSelection).includes(hash.groupSelect)) {\n this.filterGroupSelection = hash.groupSelect;\n }\n if (hash.breakdown) {\n this.filterBreakdown = convertBool(hash.breakdown);\n }\n if (hash.checkedFileTypes || hash.checkedFileTypes === '') {\n var parsedFileTypes = hash.checkedFileTypes.split(window.HASH_DELIMITER);\n this.checkedFileTypes = parsedFileTypes.filter(function (type) {\n return _this5.fileTypes.includes(type);\n });\n }\n if (hash.chartGroupIndex) {\n this.chartGroupIndex = parseInt(hash.chartGroupIndex, 10);\n }\n if (hash.chartIndex) {\n this.chartIndex = parseInt(hash.chartIndex, 10);\n }\n },\n getGroupName: function getGroupName(group) {\n return window.getGroupName(group, this.filterGroupSelection);\n },\n isMatchSearchedUser: function isMatchSearchedUser(filterSearch, user) {\n return !filterSearch || filterSearch.toLowerCase().split(' ').filter(Boolean).some(function (param) {\n return user.searchPath.includes(param);\n });\n },\n isMatchSearchedTag: function isMatchSearchedTag(filterSearch, tag) {\n return !filterSearch || filterSearch.toLowerCase().split(' ').filter(Boolean).some(function (param) {\n return tag.includes(param);\n });\n },\n toggleBreakdown: function toggleBreakdown() {\n // Reset the file type filter\n if (this.checkedFileTypes.length !== this.fileTypes.length) {\n this.checkedFileTypes = this.fileTypes.slice();\n }\n this.getFiltered();\n },\n getFiltered: function getFiltered() {\n var _this6 = this;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().mark(function _callee2() {\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _this6.setSummaryHash();\n window.deactivateAllOverlays();\n _context2.next = 4;\n return _this6.$store.dispatch('incrementLoadingOverlayCountForceReload', 1);\n case 4:\n _this6.getFilteredRepos();\n _this6.getMergedRepos();\n _context2.next = 8;\n return _this6.$store.dispatch('incrementLoadingOverlayCountForceReload', -1);\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n },\n getFilteredRepos: function getFilteredRepos() {\n var _this7 = this;\n // array of array, sorted by repo\n var full = [];\n var tagSearchPrefix = 'tag:';\n // create deep clone of this.repos to not modify the original content of this.repos\n // when merging groups\n var groups = this.hasMergedGroups() ? JSON.parse(JSON.stringify(this.repos)) : this.repos;\n if (this.filterSearch.startsWith(tagSearchPrefix)) {\n var searchedTags = this.filterSearch.split(tagSearchPrefix)[1];\n groups.forEach(function (repo) {\n var commits = repo.commits;\n if (!commits) return;\n var res = [];\n Object.entries(commits.authorDailyContributionsMap).forEach(function (_ref2) {\n var _ref3 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_ref2, 2),\n author = _ref3[0],\n contributions = _ref3[1];\n contributions = contributions;\n var tags = contributions.flatMap(function (c) {\n return c.commitResults;\n }).flatMap(function (r) {\n return r.tags;\n });\n if (tags.some(function (tag) {\n return tag && _this7.isMatchSearchedTag(searchedTags, tag);\n })) {\n var _repo$users2;\n var user = (_repo$users2 = repo.users) === null || _repo$users2 === void 0 ? void 0 : _repo$users2.find(function (u) {\n return u.name === author;\n });\n if (user) {\n _this7.updateCheckedFileTypeContribution(user);\n res.push(user);\n }\n }\n });\n if (res.length) {\n full.push(res);\n }\n });\n } else {\n groups.forEach(function (repo) {\n var _repo$users3;\n var res = [];\n // filtering\n (_repo$users3 = repo.users) === null || _repo$users3 === void 0 ? void 0 : _repo$users3.forEach(function (user) {\n if (_this7.isMatchSearchedUser(_this7.filterSearch, user)) {\n _this7.getUserCommits(user, _this7.filterSinceDate, _this7.filterUntilDate);\n if (_this7.filterTimeFrame === 'week') {\n _this7.splitCommitsWeek(user, _this7.filterSinceDate, _this7.filterUntilDate);\n }\n _this7.updateCheckedFileTypeContribution(user);\n res.push(user);\n }\n });\n if (res.length) {\n full.push(res);\n }\n });\n }\n this.filtered = full;\n this.getOptionWithOrder();\n var filterControl = {\n filterGroupSelection: this.filterGroupSelection,\n sortingOption: this.sortingOption,\n sortingWithinOption: this.sortingWithinOption,\n isSortingDsc: this.isSortingDsc,\n isSortingWithinDsc: this.isSortingWithinDsc\n };\n this.getOptionWithOrder();\n this.filtered = (0,_utils_repo_sorter__WEBPACK_IMPORTED_MODULE_37__[\"default\"])(this.filtered, filterControl);\n },\n updateMergedGroup: function updateMergedGroup(allGroupsMerged) {\n var _this8 = this;\n // merge group is not allowed when group by none\n // also reset merged groups\n if (this.filterGroupSelection === 'groupByNone' || !allGroupsMerged) {\n this.$store.commit('updateMergedGroup', []);\n } else {\n var mergedGroups = [];\n this.filtered.forEach(function (group) {\n mergedGroups.push(_this8.getGroupName(group));\n });\n this.$store.commit('updateMergedGroup', mergedGroups);\n }\n },\n getMergedRepos: function getMergedRepos() {\n var _this9 = this;\n this.filtered.forEach(function (group, groupIndex) {\n if (_this9.mergedGroups.includes(_this9.getGroupName(group))) {\n _this9.mergeGroupByIndex(_this9.filtered, groupIndex);\n }\n });\n },\n mergeGroupByIndex: function mergeGroupByIndex(filtered, groupIndex) {\n var _this10 = this;\n var dateToIndexMap = {};\n var dailyIndexMap = {};\n var mergedCommits = [];\n var mergedDailyCommits = [];\n var mergedFileTypeContribution = {};\n var mergedVariance = 0;\n var totalMergedCheckedFileTypeCommits = 0;\n filtered[groupIndex].forEach(function (user) {\n var _user$commits;\n (_user$commits = user.commits) === null || _user$commits === void 0 ? void 0 : _user$commits.forEach(function (commit) {\n _this10.mergeCommits(commit, user, dateToIndexMap, mergedCommits);\n });\n user.dailyCommits.forEach(function (commit) {\n _this10.mergeCommits(commit, user, dailyIndexMap, mergedDailyCommits);\n });\n _this10.mergeFileTypeContribution(user, mergedFileTypeContribution);\n totalMergedCheckedFileTypeCommits += user.checkedFileTypeContribution || 0;\n mergedVariance += user.variance;\n });\n mergedCommits.sort(window.comparator(function (ele) {\n return ele.date;\n }));\n filtered[groupIndex][0].commits = mergedCommits;\n filtered[groupIndex][0].dailyCommits = mergedDailyCommits;\n filtered[groupIndex][0].fileTypeContribution = mergedFileTypeContribution;\n filtered[groupIndex][0].variance = mergedVariance;\n filtered[groupIndex][0].checkedFileTypeContribution = totalMergedCheckedFileTypeCommits;\n // only take the merged group\n filtered[groupIndex] = filtered[groupIndex].slice(0, 1);\n },\n hasMergedGroups: function hasMergedGroups() {\n return this.mergedGroups.length > 0;\n },\n mergeCommits: function mergeCommits(commit, user, dateToIndexMap, merged) {\n var commitResults = commit.commitResults,\n date = commit.date;\n // bind repoId to each commit\n commitResults.forEach(function (commitResult) {\n commitResult.repoId = user.repoId;\n });\n if (Object.prototype.hasOwnProperty.call(dateToIndexMap, date)) {\n var commitWithSameDate = merged[dateToIndexMap[date]];\n commitResults.forEach(function (commitResult) {\n commitWithSameDate.commitResults.push(commitResult);\n });\n if ((0,_types_types__WEBPACK_IMPORTED_MODULE_38__.isCommit)(commit) && (0,_types_types__WEBPACK_IMPORTED_MODULE_38__.isCommit)(commitWithSameDate)) {\n var insertions = commit.insertions,\n deletions = commit.deletions;\n commitWithSameDate.insertions += insertions;\n commitWithSameDate.deletions += deletions;\n }\n } else {\n dateToIndexMap[date] = Object.keys(dateToIndexMap).length;\n merged.push(JSON.parse(JSON.stringify(commit)));\n }\n },\n mergeFileTypeContribution: function mergeFileTypeContribution(user, merged) {\n Object.entries(user.fileTypeContribution).forEach(function (fileType) {\n var key = fileType[0];\n var value = fileType[1];\n if (!Object.prototype.hasOwnProperty.call(merged, key)) {\n merged[key] = 0;\n }\n merged[key] += value;\n });\n },\n processFileTypes: function processFileTypes() {\n var _this11 = this;\n var selectedColors = ['#ffe119', '#4363d8', '#3cb44b', '#f58231', '#911eb4', '#46f0f0', '#f032e6', '#bcf60c', '#fabebe', '#008080', '#e6beff', '#9a6324', '#fffac8', '#800000', '#aaffc3', '#808000', '#ffd8b1', '#000075', '#808080'];\n var fileTypeColors = {};\n var i = 0;\n this.repos.forEach(function (repo) {\n var _repo$users4;\n (_repo$users4 = repo.users) === null || _repo$users4 === void 0 ? void 0 : _repo$users4.forEach(function (user) {\n Object.keys(user.fileTypeContribution).forEach(function (fileType) {\n if (!Object.prototype.hasOwnProperty.call(fileTypeColors, fileType)) {\n if (i < selectedColors.length) {\n fileTypeColors[fileType] = selectedColors[i];\n i += 1;\n } else {\n fileTypeColors[fileType] = (0,_utils_random_color_generator__WEBPACK_IMPORTED_MODULE_36__[\"default\"])(Object.values(fileTypeColors));\n }\n }\n if (!_this11.fileTypes.includes(fileType)) {\n _this11.fileTypes.push(fileType);\n }\n });\n });\n _this11.fileTypeColors = fileTypeColors;\n });\n this.checkedFileTypes = this.fileTypes.slice();\n this.$store.commit('updateFileTypeColors', this.fileTypeColors);\n },\n splitCommitsWeek: function splitCommitsWeek(user, sinceDate, untilDate) {\n var commits = user.commits;\n if (commits === undefined) {\n return;\n }\n var res = [];\n var nextMondayDate = this.dateRounding(sinceDate, 0); // round up for the next monday\n var nextMondayMs = new Date(nextMondayDate).getTime();\n var sinceMs = new Date(sinceDate).getTime();\n var untilMs = new Date(untilDate).getTime();\n if (nextMondayDate <= untilDate) {\n this.pushCommitsWeek(sinceMs, nextMondayMs - 1, res, commits);\n this.pushCommitsWeek(nextMondayMs, untilMs, res, commits);\n } else {\n this.pushCommitsWeek(sinceMs, untilMs, res, commits);\n }\n user.commits = res;\n },\n pushCommitsWeek: function pushCommitsWeek(sinceMs, untilMs, res, commits) {\n var diff = Math.round(Math.abs((untilMs - sinceMs) / window.DAY_IN_MS));\n var weekInMS = window.DAY_IN_MS * 7;\n for (var weekId = 0; weekId < diff / 7; weekId += 1) {\n var startOfWeekMs = sinceMs + weekId * weekInMS;\n var endOfWeekMs = startOfWeekMs + weekInMS - window.DAY_IN_MS;\n var endOfWeekMsWithinUntilMs = endOfWeekMs <= untilMs ? endOfWeekMs : untilMs;\n var week = {\n insertions: 0,\n deletions: 0,\n date: window.getDateStr(startOfWeekMs),\n endDate: window.getDateStr(endOfWeekMsWithinUntilMs),\n commitResults: []\n };\n this.addLineContributionWeek(endOfWeekMsWithinUntilMs, week, commits);\n if (week.commitResults.length > 0) {\n res.push(week);\n }\n }\n },\n addLineContributionWeek: function addLineContributionWeek(endOfWeekMs, week, commits) {\n // commits are not contiguous, meaning there are gaps of days without\n // commits, so we are going to check each commit's date and make sure\n // it is within the duration of a week\n while (commits.length > 0 && new Date(commits[0].date).getTime() <= endOfWeekMs) {\n var commit = commits.shift();\n // shift() never returns undefined here because we check for commits.length > 0,\n // but TypeScript is unable to infer this\n if (commit === undefined) {\n break;\n }\n week.insertions += commit.insertions;\n week.deletions += commit.deletions;\n commit.commitResults.forEach(function (commitResult) {\n return week.commitResults.push(commitResult);\n });\n }\n },\n getUserCommits: function getUserCommits(user, sinceDate, untilDate) {\n var _this12 = this;\n user.commits = [];\n var userFirst = user.dailyCommits[0];\n var userLast = user.dailyCommits[user.dailyCommits.length - 1];\n if (!userFirst) {\n return null;\n }\n if (!sinceDate || sinceDate === 'undefined') {\n sinceDate = userFirst.date;\n }\n if (!untilDate) {\n untilDate = userLast.date;\n }\n user.dailyCommits.forEach(function (commit) {\n var date = commit.date;\n if (date >= sinceDate && date <= untilDate) {\n var filteredCommit = JSON.parse(JSON.stringify(commit));\n _this12.filterCommitByCheckedFileTypes(filteredCommit);\n if (filteredCommit.commitResults.length > 0) {\n var _user$commits2;\n filteredCommit.commitResults.forEach(function (commitResult) {\n if (commitResult.messageBody !== '') {\n commitResult.isOpen = true;\n }\n });\n // The typecast is safe here as we add the insertions and deletions fields\n // in the filterCommitByCheckedFileTypes method above\n (_user$commits2 = user.commits) === null || _user$commits2 === void 0 ? void 0 : _user$commits2.push(filteredCommit);\n }\n }\n });\n return null;\n },\n filterCommitByCheckedFileTypes: function filterCommitByCheckedFileTypes(commit) {\n var _this13 = this;\n var commitResults = commit.commitResults.map(function (result) {\n var filteredFileTypes = _this13.getFilteredFileTypes(result);\n _this13.updateCommitResultWithFileTypes(result, filteredFileTypes);\n return result;\n });\n if (!this.checkAllFileTypes) {\n commitResults = commitResults.filter(function (result) {\n return Object.values(result.fileTypesAndContributionMap).length > 0;\n });\n }\n // Typecast from DailyCommit to Commit as we add insertions and deletions fields\n commit.insertions = commitResults.reduce(function (acc, result) {\n return acc + result.insertions;\n }, 0);\n commit.deletions = commitResults.reduce(function (acc, result) {\n return acc + result.deletions;\n }, 0);\n commit.commitResults = commitResults;\n },\n getFilteredFileTypes: function getFilteredFileTypes(commitResult) {\n return Object.keys(commitResult.fileTypesAndContributionMap).filter(this.isFileTypeChecked).reduce(function (obj, fileType) {\n obj[fileType] = commitResult.fileTypesAndContributionMap[fileType];\n return obj;\n }, {});\n },\n isFileTypeChecked: function isFileTypeChecked(fileType) {\n if (this.filterBreakdown) {\n return this.checkedFileTypes.includes(fileType);\n }\n return true;\n },\n updateCommitResultWithFileTypes: function updateCommitResultWithFileTypes(commitResult, filteredFileTypes) {\n commitResult.insertions = Object.values(filteredFileTypes).reduce(function (acc, fileType) {\n return acc + fileType.insertions;\n }, 0);\n commitResult.deletions = Object.values(filteredFileTypes).reduce(function (acc, fileType) {\n return acc + fileType.deletions;\n }, 0);\n commitResult.fileTypesAndContributionMap = filteredFileTypes;\n },\n getOptionWithOrder: function getOptionWithOrder() {\n var _this$sortGroupSelect = this.sortGroupSelection.split(' ');\n var _this$sortGroupSelect2 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$sortGroupSelect, 2);\n this.sortingOption = _this$sortGroupSelect2[0];\n this.isSortingDsc = _this$sortGroupSelect2[1];\n var _this$sortWithinGroup = this.sortWithinGroupSelection.split(' ');\n var _this$sortWithinGroup2 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$sortWithinGroup, 2);\n this.sortingWithinOption = _this$sortWithinGroup2[0];\n this.isSortingWithinDsc = _this$sortWithinGroup2[1];\n },\n // updating filters programically //\n resetDateRange: function resetDateRange() {\n this.hasModifiedSinceDate = false;\n this.hasModifiedUntilDate = false;\n this.tmpFilterSinceDate = '';\n this.tmpFilterUntilDate = '';\n window.removeHash('since');\n window.removeHash('until');\n this.getFiltered();\n },\n updateTmpFilterSinceDate: function updateTmpFilterSinceDate(event) {\n // Only called from an input onchange event, target guaranteed to be input element\n var since = event.target.value;\n this.hasModifiedSinceDate = true;\n if (!this.isSafariBrowser) {\n this.tmpFilterSinceDate = since;\n event.target.value = this.filterSinceDate;\n this.getFiltered();\n } else if (dateFormatRegex.test(since) && since >= this.minDate) {\n this.tmpFilterSinceDate = since;\n event.currentTarget.style.removeProperty('border-bottom-color');\n this.getFiltered();\n } else {\n // invalid since date detected\n event.currentTarget.style.borderBottomColor = 'red';\n }\n },\n updateTmpFilterUntilDate: function updateTmpFilterUntilDate(event) {\n // Only called from an input onchange event, target guaranteed to be input element\n var until = event.target.value;\n this.hasModifiedUntilDate = true;\n if (!this.isSafariBrowser) {\n this.tmpFilterUntilDate = until;\n event.target.value = this.filterUntilDate;\n this.getFiltered();\n } else if (dateFormatRegex.test(until) && until <= this.maxDate) {\n this.tmpFilterUntilDate = until;\n event.currentTarget.style.removeProperty('border-bottom-color');\n this.getFiltered();\n } else {\n // invalid until date detected\n event.currentTarget.style.borderBottomColor = 'red';\n }\n },\n updateCheckedFileTypeContribution: function updateCheckedFileTypeContribution(ele) {\n var _this14 = this;\n var validCommits = 0;\n Object.keys(ele.fileTypeContribution).forEach(function (fileType) {\n if (!_this14.filterBreakdown) {\n validCommits += ele.fileTypeContribution[fileType];\n } else if (_this14.checkedFileTypes.includes(fileType)) {\n validCommits += ele.fileTypeContribution[fileType];\n }\n });\n ele.checkedFileTypeContribution = validCommits;\n },\n restoreZoomFiltered: function restoreZoomFiltered(info) {\n var _this15 = this;\n var zSince = info.zSince,\n zUntil = info.zUntil,\n zTimeFrame = info.zTimeFrame,\n zIsMerged = info.zIsMerged,\n zFilterSearch = info.zFilterSearch;\n var filtered = [];\n var groups = JSON.parse(JSON.stringify(this.repos));\n var res = [];\n groups.forEach(function (repo) {\n var _repo$users5;\n (_repo$users5 = repo.users) === null || _repo$users5 === void 0 ? void 0 : _repo$users5.forEach(function (user) {\n // only filter users that match with zoom user and previous searched user\n if (_this15.matchZoomUser(info, user) && _this15.isMatchSearchedUser(zFilterSearch, user)) {\n _this15.getUserCommits(user, zSince, zUntil);\n if (zTimeFrame === 'week') {\n _this15.splitCommitsWeek(user, zSince, zUntil);\n }\n _this15.updateCheckedFileTypeContribution(user);\n res.push(user);\n }\n });\n });\n if (res.length) {\n filtered.push(res);\n }\n if (zIsMerged) {\n this.mergeGroupByIndex(filtered, 0);\n }\n if (filtered.length) {\n var _filtered$ = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(filtered[0], 1);\n info.zUser = _filtered$[0];\n }\n info.zFileTypeColors = this.fileTypeColors;\n info.isRefreshing = false;\n this.$store.commit('updateTabZoomInfo', info);\n },\n matchZoomUser: function matchZoomUser(info, user) {\n var zIsMerged = info.zIsMerged,\n zFilterGroup = info.zFilterGroup,\n zRepo = info.zRepo,\n zAuthor = info.zAuthor;\n if (zIsMerged) {\n return zFilterGroup === 'groupByRepos' ? user.repoName === zRepo : user.name === zAuthor;\n }\n return user.repoName === zRepo && user.name === zAuthor;\n },\n dateRounding: function dateRounding(datestr, roundDown) {\n // rounding up to nearest monday\n var date = new Date(datestr);\n var day = date.getUTCDay();\n var datems = date.getTime();\n if (roundDown) {\n datems -= (day + 6) % 7 * window.DAY_IN_MS;\n } else {\n datems += (8 - day) % 7 * window.DAY_IN_MS;\n }\n return window.getDateStr(datems);\n },\n getFontColor: function getFontColor(color) {\n return window.getFontColor(color);\n },\n toggleErrorShowMore: function toggleErrorShowMore() {\n this.errorIsShowingMore = !this.errorIsShowingMore;\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/views/c-summary.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js */ \"./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.test.js */ \"./node_modules/core-js/modules/es.regexp.test.js\");\n/* harmony import */ var core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_test_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/web.timers.js */ \"./node_modules/core-js/modules/web.timers.js\");\n/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ \"./node_modules/core-js/modules/es.parse-int.js\");\n/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ \"./node_modules/core-js/modules/es.array.some.js\");\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"./node_modules/core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.array.flat-map.js */ \"./node_modules/core-js/modules/es.array.flat-map.js\");\n/* harmony import */ var core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.array.unscopables.flat-map.js */ \"./node_modules/core-js/modules/es.array.unscopables.flat-map.js\");\n/* harmony import */ var core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_28__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_29__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__);\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ \"./node_modules/core-js/modules/es.date.to-string.js\");\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_31__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_32__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_33__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _components_c_summary_charts_vue__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../components/c-summary-charts.vue */ \"./src/components/c-summary-charts.vue\");\n/* harmony import */ var _components_c_file_type_checkboxes_vue__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../components/c-file-type-checkboxes.vue */ \"./src/components/c-file-type-checkboxes.vue\");\n/* harmony import */ var _utils_random_color_generator__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../utils/random-color-generator */ \"./src/utils/random-color-generator.ts\");\n/* harmony import */ var _utils_repo_sorter__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../utils/repo-sorter */ \"./src/utils/repo-sorter.ts\");\n/* harmony import */ var _types_types__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../types/types */ \"./src/types/types.ts\");\n/* harmony import */ var _types_summary__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../types/summary */ \"./src/types/summary.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar dateFormatRegex = /([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$/;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_34__.defineComponent)({\n name: 'c-summary',\n components: {\n cSummaryCharts: _components_c_summary_charts_vue__WEBPACK_IMPORTED_MODULE_35__[\"default\"],\n cFileTypeCheckboxes: _components_c_file_type_checkboxes_vue__WEBPACK_IMPORTED_MODULE_36__[\"default\"]\n },\n props: {\n repos: {\n type: Array,\n required: true\n },\n errorMessages: {\n type: Object,\n \"default\": function _default() {\n return {};\n }\n },\n isWidgetMode: {\n type: Boolean,\n \"default\": false\n }\n },\n data: function data() {\n return {\n checkedFileTypes: [],\n fileTypes: [],\n filtered: [],\n filterSearch: '',\n filterGroupSelection: _types_summary__WEBPACK_IMPORTED_MODULE_40__.FilterGroupSelection.GroupByRepos,\n sortGroupSelection: _types_summary__WEBPACK_IMPORTED_MODULE_40__.SortGroupSelection.GroupTitleDsc,\n sortWithinGroupSelection: _types_summary__WEBPACK_IMPORTED_MODULE_40__.SortWithinGroupSelection.Title,\n sortingOption: '',\n isSortingDsc: '',\n sortingWithinOption: '',\n isSortingWithinDsc: '',\n filterTimeFrame: _types_summary__WEBPACK_IMPORTED_MODULE_40__.FilterTimeFrame.Commit,\n filterBreakdown: false,\n tmpFilterSinceDate: '',\n tmpFilterUntilDate: '',\n hasModifiedSinceDate: window.isSinceDateProvided,\n hasModifiedUntilDate: window.isUntilDateProvided,\n filterHash: '',\n minDate: window.sinceDate,\n maxDate: window.untilDate,\n fileTypeColors: {},\n isSafariBrowser: /.*Version.*Safari.*/.test(navigator.userAgent),\n filterGroupSelectionWatcherFlag: false,\n chartGroupIndex: undefined,\n chartIndex: undefined,\n errorIsShowingMore: false,\n numberOfErrorMessagesToShow: 4\n };\n },\n computed: (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n avgContributionSize: function avgContributionSize() {\n var _this = this;\n var totalLines = 0;\n var totalCount = 0;\n this.repos.forEach(function (repo) {\n var _repo$users;\n (_repo$users = repo.users) === null || _repo$users === void 0 ? void 0 : _repo$users.forEach(function (user) {\n if (user.checkedFileTypeContribution === undefined || user.checkedFileTypeContribution === 0) {\n _this.updateCheckedFileTypeContribution(user);\n }\n if (user.checkedFileTypeContribution && user.checkedFileTypeContribution > 0) {\n totalCount += 1;\n totalLines += user.checkedFileTypeContribution;\n }\n });\n });\n if (totalCount === 0) {\n return 0;\n }\n return totalLines / totalCount;\n },\n allGroupsMerged: {\n get: function get() {\n if (this.mergedGroups.length === 0) {\n return false;\n }\n return this.mergedGroups.length === this.filtered.length;\n },\n set: function set(value) {\n var _this2 = this;\n if (value) {\n var mergedGroups = [];\n this.filtered.forEach(function (group) {\n mergedGroups.push(_this2.getGroupName(group));\n });\n this.filtered = [];\n this.$store.commit('updateMergedGroup', mergedGroups);\n } else {\n this.$store.commit('updateMergedGroup', []);\n }\n }\n },\n filterSinceDate: function filterSinceDate() {\n if (this.tmpFilterSinceDate && this.tmpFilterSinceDate >= this.minDate) {\n return this.tmpFilterSinceDate;\n }\n // If user clears the since date field\n return this.minDate;\n },\n filterUntilDate: function filterUntilDate() {\n if (this.tmpFilterUntilDate && this.tmpFilterUntilDate <= this.maxDate) {\n return this.tmpFilterUntilDate;\n }\n return this.maxDate;\n }\n }, (0,vuex__WEBPACK_IMPORTED_MODULE_41__.mapState)(['mergedGroups'])),\n watch: {\n filterGroupSelection: function filterGroupSelection() {\n var _this3 = this;\n // Deactivates watcher\n if (!this.filterGroupSelectionWatcherFlag) {\n return;\n }\n var allGroupsMerged = this.allGroupsMerged;\n this.$store.dispatch('incrementLoadingOverlayCountForceReload', 1).then(function () {\n _this3.getFilteredRepos();\n _this3.updateMergedGroup(allGroupsMerged);\n }).then( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().mark(function _callee() {\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this3.$store.dispatch('incrementLoadingOverlayCountForceReload', -1);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n },\n '$store.state.summaryDates': function $storeStateSummaryDates() {\n this.hasModifiedSinceDate = true;\n this.hasModifiedUntilDate = true;\n this.tmpFilterSinceDate = this.$store.state.summaryDates.since;\n this.tmpFilterUntilDate = this.$store.state.summaryDates.until;\n window.deactivateAllOverlays();\n this.getFiltered();\n },\n mergedGroups: {\n deep: true,\n handler: function handler() {\n this.getFiltered();\n }\n }\n },\n created: function created() {\n this.processFileTypes();\n this.renderFilterHash();\n this.getFiltered();\n if (this.$store.state.tabZoomInfo.isRefreshing) {\n var zoomInfo = Object.assign({}, this.$store.state.tabZoomInfo);\n this.restoreZoomFiltered(zoomInfo);\n }\n },\n mounted: function mounted() {\n var _this4 = this;\n // Delay execution of filterGroupSelection watcher\n // to prevent clearing of merged groups\n setTimeout(function () {\n _this4.filterGroupSelectionWatcherFlag = true;\n }, 0);\n },\n methods: {\n dismissTab: function dismissTab(event) {\n if (event.target instanceof Element && event.target.parentNode instanceof HTMLElement) {\n event.target.parentNode.style.display = 'none';\n }\n },\n // view functions //\n getReportIssueGitHubLink: function getReportIssueGitHubLink(stackTrace) {\n return \"\".concat(window.REPOSENSE_REPO_URL, \"/issues/new?title=\").concat(this.getReportIssueTitle(), \"&body=\").concat(this.getReportIssueMessage(stackTrace));\n },\n getReportIssueEmailAddress: function getReportIssueEmailAddress() {\n return 'seer@comp.nus.edu.sg';\n },\n getReportIssueEmailLink: function getReportIssueEmailLink(stackTrace) {\n return \"mailto:\".concat(this.getReportIssueEmailAddress(), \"?subject=\").concat(this.getReportIssueTitle(), \"&body=\").concat(this.getReportIssueMessage(stackTrace));\n },\n getReportIssueTitle: function getReportIssueTitle() {\n return \"\".concat(encodeURI('Unexpected error with RepoSense version ')).concat(window.repoSenseVersion);\n },\n getReportIssueMessage: function getReportIssueMessage(message) {\n return encodeURI(message);\n },\n // model functions //\n resetFilterSearch: function resetFilterSearch() {\n this.filterSearch = '';\n this.getFiltered();\n },\n updateFilterSearch: function updateFilterSearch(evt) {\n // Only called from an input onchange event, target guaranteed to be input element\n this.filterSearch = evt.target.value;\n this.getFiltered();\n },\n setSummaryHash: function setSummaryHash() {\n var _window = window,\n addHash = _window.addHash,\n encodeHash = _window.encodeHash;\n addHash('search', this.filterSearch);\n addHash('sort', this.sortGroupSelection);\n addHash('sortWithin', this.sortWithinGroupSelection);\n if (this.hasModifiedSinceDate) {\n addHash('since', this.filterSinceDate);\n }\n if (this.hasModifiedUntilDate) {\n addHash('until', this.filterUntilDate);\n }\n addHash('timeframe', this.filterTimeFrame);\n var mergedGroupsHash = this.mergedGroups.join(window.HASH_DELIMITER);\n if (mergedGroupsHash.length === 0) {\n mergedGroupsHash = '';\n }\n addHash('mergegroup', mergedGroupsHash);\n addHash('groupSelect', this.filterGroupSelection);\n addHash('breakdown', this.filterBreakdown);\n if (this.filterBreakdown) {\n var checkedFileTypesHash = this.checkedFileTypes.length > 0 ? this.checkedFileTypes.join(window.HASH_DELIMITER) : '';\n addHash('checkedFileTypes', checkedFileTypesHash);\n } else {\n window.removeHash('checkedFileTypes');\n }\n encodeHash();\n },\n renderFilterHash: function renderFilterHash() {\n var _this5 = this;\n var convertBool = function convertBool(txt) {\n return txt === 'true';\n };\n var hash = Object.assign({}, window.hashParams);\n if (hash.search) {\n this.filterSearch = hash.search;\n }\n if (hash.sort && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_40__.SortGroupSelection).includes(hash.sort)) {\n this.sortGroupSelection = hash.sort;\n }\n if (hash.sortWithin && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_40__.SortWithinGroupSelection).includes(hash.sortWithin)) {\n this.sortWithinGroupSelection = hash.sortWithin;\n }\n if (hash.timeframe && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_40__.FilterTimeFrame).includes(hash.timeframe)) {\n this.filterTimeFrame = hash.timeframe;\n }\n if (hash.mergegroup) {\n this.$store.commit('updateMergedGroup', hash.mergegroup.split(window.HASH_DELIMITER));\n }\n if (hash.since && dateFormatRegex.test(hash.since)) {\n this.tmpFilterSinceDate = hash.since;\n }\n if (hash.until && dateFormatRegex.test(hash.until)) {\n this.tmpFilterUntilDate = hash.until;\n }\n if (hash.groupSelect && Object.values(_types_summary__WEBPACK_IMPORTED_MODULE_40__.FilterGroupSelection).includes(hash.groupSelect)) {\n this.filterGroupSelection = hash.groupSelect;\n }\n if (hash.breakdown) {\n this.filterBreakdown = convertBool(hash.breakdown);\n }\n if (hash.checkedFileTypes || hash.checkedFileTypes === '') {\n var parsedFileTypes = hash.checkedFileTypes.split(window.HASH_DELIMITER);\n this.checkedFileTypes = parsedFileTypes.filter(function (type) {\n return _this5.fileTypes.includes(type);\n });\n }\n if (hash.chartGroupIndex) {\n this.chartGroupIndex = parseInt(hash.chartGroupIndex, 10);\n }\n if (hash.chartIndex) {\n this.chartIndex = parseInt(hash.chartIndex, 10);\n }\n },\n getGroupName: function getGroupName(group) {\n return window.getGroupName(group, this.filterGroupSelection);\n },\n isMatchSearchedUser: function isMatchSearchedUser(filterSearch, user) {\n return !filterSearch || filterSearch.toLowerCase().split(' ').filter(Boolean).some(function (param) {\n return user.searchPath.includes(param);\n });\n },\n isMatchSearchedTag: function isMatchSearchedTag(filterSearch, tag) {\n return !filterSearch || filterSearch.toLowerCase().split(' ').filter(Boolean).some(function (param) {\n return tag.includes(param);\n });\n },\n toggleBreakdown: function toggleBreakdown() {\n // Reset the file type filter\n if (this.checkedFileTypes.length !== this.fileTypes.length) {\n this.checkedFileTypes = this.fileTypes.slice();\n }\n this.getFiltered();\n },\n getFiltered: function getFiltered() {\n var _this6 = this;\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])( /*#__PURE__*/(0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().mark(function _callee2() {\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _this6.setSummaryHash();\n window.deactivateAllOverlays();\n _context2.next = 4;\n return _this6.$store.dispatch('incrementLoadingOverlayCountForceReload', 1);\n case 4:\n _this6.getFilteredRepos();\n _this6.getMergedRepos();\n _context2.next = 8;\n return _this6.$store.dispatch('incrementLoadingOverlayCountForceReload', -1);\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n },\n getFilteredRepos: function getFilteredRepos() {\n var _this7 = this;\n // array of array, sorted by repo\n var full = [];\n var tagSearchPrefix = 'tag:';\n // create deep clone of this.repos to not modify the original content of this.repos\n // when merging groups\n var groups = this.hasMergedGroups() ? JSON.parse(JSON.stringify(this.repos)) : this.repos;\n if (this.filterSearch.startsWith(tagSearchPrefix)) {\n var searchedTags = this.filterSearch.split(tagSearchPrefix)[1];\n groups.forEach(function (repo) {\n var commits = repo.commits;\n if (!commits) return;\n var res = [];\n Object.entries(commits.authorDailyContributionsMap).forEach(function (_ref2) {\n var _ref3 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_ref2, 2),\n author = _ref3[0],\n contributions = _ref3[1];\n contributions = contributions;\n var tags = contributions.flatMap(function (c) {\n return c.commitResults;\n }).flatMap(function (r) {\n return r.tags;\n });\n if (tags.some(function (tag) {\n return tag && _this7.isMatchSearchedTag(searchedTags, tag);\n })) {\n var _repo$users2;\n var user = (_repo$users2 = repo.users) === null || _repo$users2 === void 0 ? void 0 : _repo$users2.find(function (u) {\n return u.name === author;\n });\n if (user) {\n _this7.updateCheckedFileTypeContribution(user);\n res.push(user);\n }\n }\n });\n if (res.length) {\n full.push(res);\n }\n });\n } else {\n groups.forEach(function (repo) {\n var _repo$users3;\n var res = [];\n // filtering\n (_repo$users3 = repo.users) === null || _repo$users3 === void 0 ? void 0 : _repo$users3.forEach(function (user) {\n if (_this7.isMatchSearchedUser(_this7.filterSearch, user)) {\n _this7.getUserCommits(user, _this7.filterSinceDate, _this7.filterUntilDate);\n if (_this7.filterTimeFrame === 'week') {\n _this7.splitCommitsWeek(user, _this7.filterSinceDate, _this7.filterUntilDate);\n }\n _this7.updateCheckedFileTypeContribution(user);\n res.push(user);\n }\n });\n if (res.length) {\n full.push(res);\n }\n });\n }\n this.filtered = full;\n this.getOptionWithOrder();\n var filterControl = {\n filterGroupSelection: this.filterGroupSelection,\n sortingOption: this.sortingOption,\n sortingWithinOption: this.sortingWithinOption,\n isSortingDsc: this.isSortingDsc,\n isSortingWithinDsc: this.isSortingWithinDsc\n };\n this.getOptionWithOrder();\n this.filtered = (0,_utils_repo_sorter__WEBPACK_IMPORTED_MODULE_38__[\"default\"])(this.filtered, filterControl);\n },\n updateMergedGroup: function updateMergedGroup(allGroupsMerged) {\n var _this8 = this;\n // merge group is not allowed when group by none\n // also reset merged groups\n if (this.filterGroupSelection === 'groupByNone' || !allGroupsMerged) {\n this.$store.commit('updateMergedGroup', []);\n } else {\n var mergedGroups = [];\n this.filtered.forEach(function (group) {\n mergedGroups.push(_this8.getGroupName(group));\n });\n this.$store.commit('updateMergedGroup', mergedGroups);\n }\n },\n getMergedRepos: function getMergedRepos() {\n var _this9 = this;\n this.filtered.forEach(function (group, groupIndex) {\n if (_this9.mergedGroups.includes(_this9.getGroupName(group))) {\n _this9.mergeGroupByIndex(_this9.filtered, groupIndex);\n }\n });\n },\n mergeGroupByIndex: function mergeGroupByIndex(filtered, groupIndex) {\n var _this10 = this;\n var dateToIndexMap = {};\n var dailyIndexMap = {};\n var mergedCommits = [];\n var mergedDailyCommits = [];\n var mergedFileTypeContribution = {};\n var mergedVariance = 0;\n var totalMergedCheckedFileTypeCommits = 0;\n filtered[groupIndex].forEach(function (user) {\n var _user$commits;\n (_user$commits = user.commits) === null || _user$commits === void 0 ? void 0 : _user$commits.forEach(function (commit) {\n _this10.mergeCommits(commit, user, dateToIndexMap, mergedCommits);\n });\n user.dailyCommits.forEach(function (commit) {\n _this10.mergeCommits(commit, user, dailyIndexMap, mergedDailyCommits);\n });\n _this10.mergeFileTypeContribution(user, mergedFileTypeContribution);\n totalMergedCheckedFileTypeCommits += user.checkedFileTypeContribution || 0;\n mergedVariance += user.variance;\n });\n mergedCommits.sort(window.comparator(function (ele) {\n return ele.date;\n }));\n filtered[groupIndex][0].commits = mergedCommits;\n filtered[groupIndex][0].dailyCommits = mergedDailyCommits;\n filtered[groupIndex][0].fileTypeContribution = mergedFileTypeContribution;\n filtered[groupIndex][0].variance = mergedVariance;\n filtered[groupIndex][0].checkedFileTypeContribution = totalMergedCheckedFileTypeCommits;\n // only take the merged group\n filtered[groupIndex] = filtered[groupIndex].slice(0, 1);\n },\n hasMergedGroups: function hasMergedGroups() {\n return this.mergedGroups.length > 0;\n },\n mergeCommits: function mergeCommits(commit, user, dateToIndexMap, merged) {\n var commitResults = commit.commitResults,\n date = commit.date;\n // bind repoId to each commit\n commitResults.forEach(function (commitResult) {\n commitResult.repoId = user.repoId;\n });\n if (Object.prototype.hasOwnProperty.call(dateToIndexMap, date)) {\n var commitWithSameDate = merged[dateToIndexMap[date]];\n commitResults.forEach(function (commitResult) {\n commitWithSameDate.commitResults.push(commitResult);\n });\n if ((0,_types_types__WEBPACK_IMPORTED_MODULE_39__.isCommit)(commit) && (0,_types_types__WEBPACK_IMPORTED_MODULE_39__.isCommit)(commitWithSameDate)) {\n var insertions = commit.insertions,\n deletions = commit.deletions;\n commitWithSameDate.insertions += insertions;\n commitWithSameDate.deletions += deletions;\n }\n } else {\n dateToIndexMap[date] = Object.keys(dateToIndexMap).length;\n merged.push(JSON.parse(JSON.stringify(commit)));\n }\n },\n mergeFileTypeContribution: function mergeFileTypeContribution(user, merged) {\n Object.entries(user.fileTypeContribution).forEach(function (fileType) {\n var key = fileType[0];\n var value = fileType[1];\n if (!Object.prototype.hasOwnProperty.call(merged, key)) {\n merged[key] = 0;\n }\n merged[key] += value;\n });\n },\n processFileTypes: function processFileTypes() {\n var _this11 = this;\n var selectedColors = ['#ffe119', '#4363d8', '#3cb44b', '#f58231', '#911eb4', '#46f0f0', '#f032e6', '#bcf60c', '#fabebe', '#008080', '#e6beff', '#9a6324', '#fffac8', '#800000', '#aaffc3', '#808000', '#ffd8b1', '#000075', '#808080'];\n var fileTypeColors = {};\n var i = 0;\n this.repos.forEach(function (repo) {\n var _repo$users4;\n (_repo$users4 = repo.users) === null || _repo$users4 === void 0 ? void 0 : _repo$users4.forEach(function (user) {\n Object.keys(user.fileTypeContribution).forEach(function (fileType) {\n if (!Object.prototype.hasOwnProperty.call(fileTypeColors, fileType)) {\n if (i < selectedColors.length) {\n fileTypeColors[fileType] = selectedColors[i];\n i += 1;\n } else {\n fileTypeColors[fileType] = (0,_utils_random_color_generator__WEBPACK_IMPORTED_MODULE_37__[\"default\"])(Object.values(fileTypeColors));\n }\n }\n if (!_this11.fileTypes.includes(fileType)) {\n _this11.fileTypes.push(fileType);\n }\n });\n });\n _this11.fileTypeColors = fileTypeColors;\n });\n this.checkedFileTypes = this.fileTypes.slice();\n this.$store.commit('updateFileTypeColors', this.fileTypeColors);\n },\n splitCommitsWeek: function splitCommitsWeek(user, sinceDate, untilDate) {\n var commits = user.commits;\n if (commits === undefined) {\n return;\n }\n var res = [];\n var nextMondayDate = this.dateRounding(sinceDate, 0); // round up for the next monday\n var nextMondayMs = new Date(nextMondayDate).getTime();\n var sinceMs = new Date(sinceDate).getTime();\n var untilMs = new Date(untilDate).getTime();\n if (nextMondayDate <= untilDate) {\n this.pushCommitsWeek(sinceMs, nextMondayMs - 1, res, commits);\n this.pushCommitsWeek(nextMondayMs, untilMs, res, commits);\n } else {\n this.pushCommitsWeek(sinceMs, untilMs, res, commits);\n }\n user.commits = res;\n },\n pushCommitsWeek: function pushCommitsWeek(sinceMs, untilMs, res, commits) {\n var diff = Math.round(Math.abs((untilMs - sinceMs) / window.DAY_IN_MS));\n var weekInMS = window.DAY_IN_MS * 7;\n for (var weekId = 0; weekId < diff / 7; weekId += 1) {\n var startOfWeekMs = sinceMs + weekId * weekInMS;\n var endOfWeekMs = startOfWeekMs + weekInMS - window.DAY_IN_MS;\n var endOfWeekMsWithinUntilMs = endOfWeekMs <= untilMs ? endOfWeekMs : untilMs;\n var week = {\n insertions: 0,\n deletions: 0,\n date: window.getDateStr(startOfWeekMs),\n endDate: window.getDateStr(endOfWeekMsWithinUntilMs),\n commitResults: []\n };\n this.addLineContributionWeek(endOfWeekMsWithinUntilMs, week, commits);\n if (week.commitResults.length > 0) {\n res.push(week);\n }\n }\n },\n addLineContributionWeek: function addLineContributionWeek(endOfWeekMs, week, commits) {\n // commits are not contiguous, meaning there are gaps of days without\n // commits, so we are going to check each commit's date and make sure\n // it is within the duration of a week\n while (commits.length > 0 && new Date(commits[0].date).getTime() <= endOfWeekMs) {\n var commit = commits.shift();\n // shift() never returns undefined here because we check for commits.length > 0,\n // but TypeScript is unable to infer this\n if (commit === undefined) {\n break;\n }\n week.insertions += commit.insertions;\n week.deletions += commit.deletions;\n commit.commitResults.forEach(function (commitResult) {\n return week.commitResults.push(commitResult);\n });\n }\n },\n getUserCommits: function getUserCommits(user, sinceDate, untilDate) {\n var _this12 = this;\n user.commits = [];\n var userFirst = user.dailyCommits[0];\n var userLast = user.dailyCommits[user.dailyCommits.length - 1];\n if (!userFirst) {\n return null;\n }\n if (!sinceDate || sinceDate === 'undefined') {\n sinceDate = userFirst.date;\n }\n if (!untilDate) {\n untilDate = userLast.date;\n }\n user.dailyCommits.forEach(function (commit) {\n var date = commit.date;\n if (date >= sinceDate && date <= untilDate) {\n var filteredCommit = JSON.parse(JSON.stringify(commit));\n _this12.filterCommitByCheckedFileTypes(filteredCommit);\n if (filteredCommit.commitResults.length > 0) {\n var _user$commits2;\n filteredCommit.commitResults.forEach(function (commitResult) {\n if (commitResult.messageBody !== '') {\n commitResult.isOpen = true;\n }\n });\n // The typecast is safe here as we add the insertions and deletions fields\n // in the filterCommitByCheckedFileTypes method above\n (_user$commits2 = user.commits) === null || _user$commits2 === void 0 ? void 0 : _user$commits2.push(filteredCommit);\n }\n }\n });\n return null;\n },\n filterCommitByCheckedFileTypes: function filterCommitByCheckedFileTypes(commit) {\n var _this13 = this;\n var commitResults = commit.commitResults.map(function (result) {\n var filteredFileTypes = _this13.getFilteredFileTypes(result);\n _this13.updateCommitResultWithFileTypes(result, filteredFileTypes);\n return result;\n });\n if (!this.isAllFileTypesChecked()) {\n commitResults = commitResults.filter(function (result) {\n return Object.values(result.fileTypesAndContributionMap).length > 0;\n });\n }\n // Typecast from DailyCommit to Commit as we add insertions and deletions fields\n commit.insertions = commitResults.reduce(function (acc, result) {\n return acc + result.insertions;\n }, 0);\n commit.deletions = commitResults.reduce(function (acc, result) {\n return acc + result.deletions;\n }, 0);\n commit.commitResults = commitResults;\n },\n getFilteredFileTypes: function getFilteredFileTypes(commitResult) {\n return Object.keys(commitResult.fileTypesAndContributionMap).filter(this.isFileTypeChecked).reduce(function (obj, fileType) {\n obj[fileType] = commitResult.fileTypesAndContributionMap[fileType];\n return obj;\n }, {});\n },\n isFileTypeChecked: function isFileTypeChecked(fileType) {\n if (this.filterBreakdown) {\n return this.checkedFileTypes.includes(fileType);\n }\n return true;\n },\n updateCommitResultWithFileTypes: function updateCommitResultWithFileTypes(commitResult, filteredFileTypes) {\n commitResult.insertions = Object.values(filteredFileTypes).reduce(function (acc, fileType) {\n return acc + fileType.insertions;\n }, 0);\n commitResult.deletions = Object.values(filteredFileTypes).reduce(function (acc, fileType) {\n return acc + fileType.deletions;\n }, 0);\n commitResult.fileTypesAndContributionMap = filteredFileTypes;\n },\n getOptionWithOrder: function getOptionWithOrder() {\n var _this$sortGroupSelect = this.sortGroupSelection.split(' ');\n var _this$sortGroupSelect2 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$sortGroupSelect, 2);\n this.sortingOption = _this$sortGroupSelect2[0];\n this.isSortingDsc = _this$sortGroupSelect2[1];\n var _this$sortWithinGroup = this.sortWithinGroupSelection.split(' ');\n var _this$sortWithinGroup2 = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$sortWithinGroup, 2);\n this.sortingWithinOption = _this$sortWithinGroup2[0];\n this.isSortingWithinDsc = _this$sortWithinGroup2[1];\n },\n // updating filters programically //\n resetDateRange: function resetDateRange() {\n this.hasModifiedSinceDate = false;\n this.hasModifiedUntilDate = false;\n this.tmpFilterSinceDate = '';\n this.tmpFilterUntilDate = '';\n window.removeHash('since');\n window.removeHash('until');\n this.getFiltered();\n },\n updateTmpFilterSinceDate: function updateTmpFilterSinceDate(event) {\n // Only called from an input onchange event, target guaranteed to be input element\n var since = event.target.value;\n this.hasModifiedSinceDate = true;\n if (!this.isSafariBrowser) {\n this.tmpFilterSinceDate = since;\n event.target.value = this.filterSinceDate;\n this.getFiltered();\n } else if (dateFormatRegex.test(since) && since >= this.minDate) {\n this.tmpFilterSinceDate = since;\n event.currentTarget.style.removeProperty('border-bottom-color');\n this.getFiltered();\n } else {\n // invalid since date detected\n event.currentTarget.style.borderBottomColor = 'red';\n }\n },\n updateTmpFilterUntilDate: function updateTmpFilterUntilDate(event) {\n // Only called from an input onchange event, target guaranteed to be input element\n var until = event.target.value;\n this.hasModifiedUntilDate = true;\n if (!this.isSafariBrowser) {\n this.tmpFilterUntilDate = until;\n event.target.value = this.filterUntilDate;\n this.getFiltered();\n } else if (dateFormatRegex.test(until) && until <= this.maxDate) {\n this.tmpFilterUntilDate = until;\n event.currentTarget.style.removeProperty('border-bottom-color');\n this.getFiltered();\n } else {\n // invalid until date detected\n event.currentTarget.style.borderBottomColor = 'red';\n }\n },\n updateCheckedFileTypeContribution: function updateCheckedFileTypeContribution(ele) {\n var _this14 = this;\n var validCommits = 0;\n Object.keys(ele.fileTypeContribution).forEach(function (fileType) {\n if (!_this14.filterBreakdown) {\n validCommits += ele.fileTypeContribution[fileType];\n } else if (_this14.checkedFileTypes.includes(fileType)) {\n validCommits += ele.fileTypeContribution[fileType];\n }\n });\n ele.checkedFileTypeContribution = validCommits;\n },\n restoreZoomFiltered: function restoreZoomFiltered(info) {\n var _this15 = this;\n var zSince = info.zSince,\n zUntil = info.zUntil,\n zTimeFrame = info.zTimeFrame,\n zIsMerged = info.zIsMerged,\n zFilterSearch = info.zFilterSearch;\n var filtered = [];\n var groups = JSON.parse(JSON.stringify(this.repos));\n var res = [];\n groups.forEach(function (repo) {\n var _repo$users5;\n (_repo$users5 = repo.users) === null || _repo$users5 === void 0 ? void 0 : _repo$users5.forEach(function (user) {\n // only filter users that match with zoom user and previous searched user\n if (_this15.matchZoomUser(info, user) && _this15.isMatchSearchedUser(zFilterSearch, user)) {\n _this15.getUserCommits(user, zSince, zUntil);\n if (zTimeFrame === 'week') {\n _this15.splitCommitsWeek(user, zSince, zUntil);\n }\n _this15.updateCheckedFileTypeContribution(user);\n res.push(user);\n }\n });\n });\n if (res.length) {\n filtered.push(res);\n }\n if (zIsMerged) {\n this.mergeGroupByIndex(filtered, 0);\n }\n if (filtered.length) {\n var _filtered$ = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(filtered[0], 1);\n info.zUser = _filtered$[0];\n }\n info.zFileTypeColors = this.fileTypeColors;\n info.isRefreshing = false;\n this.$store.commit('updateTabZoomInfo', info);\n },\n matchZoomUser: function matchZoomUser(info, user) {\n var zIsMerged = info.zIsMerged,\n zFilterGroup = info.zFilterGroup,\n zRepo = info.zRepo,\n zAuthor = info.zAuthor;\n if (zIsMerged) {\n return zFilterGroup === 'groupByRepos' ? user.repoName === zRepo : user.name === zAuthor;\n }\n return user.repoName === zRepo && user.name === zAuthor;\n },\n dateRounding: function dateRounding(datestr, roundDown) {\n // rounding up to nearest monday\n var date = new Date(datestr);\n var day = date.getUTCDay();\n var datems = date.getTime();\n if (roundDown) {\n datems -= (day + 6) % 7 * window.DAY_IN_MS;\n } else {\n datems += (8 - day) % 7 * window.DAY_IN_MS;\n }\n return window.getDateStr(datems);\n },\n toggleErrorShowMore: function toggleErrorShowMore() {\n this.errorIsShowingMore = !this.errorIsShowingMore;\n },\n isAllFileTypesChecked: function isAllFileTypesChecked() {\n return this.checkedFileTypes.length === this.fileTypes.length;\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/views/c-summary.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -159,7 +170,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.reverse.js */ \"./node_modules/core-js/modules/es.array.reverse.js\");\n/* harmony import */ var core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ \"./node_modules/core-js/modules/es.array.some.js\");\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.index-of.js */ \"./node_modules/core-js/modules/es.array.index-of.js\");\n/* harmony import */ var core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.error.to-string.js */ \"./node_modules/core-js/modules/es.error.to-string.js\");\n/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ \"./node_modules/core-js/modules/es.date.to-string.js\");\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.set.js */ \"./node_modules/core-js/modules/es.set.js\");\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @fortawesome/vue-fontawesome */ \"./node_modules/@fortawesome/vue-fontawesome/index.es.js\");\n/* harmony import */ var _mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../mixin/brokenLinkMixin */ \"./src/mixin/brokenLinkMixin.ts\");\n/* harmony import */ var _mixin_dynamicTooltipMixin__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../mixin/dynamicTooltipMixin */ \"./src/mixin/dynamicTooltipMixin.ts\");\n/* harmony import */ var _components_c_ramp_vue__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../components/c-ramp.vue */ \"./src/components/c-ramp.vue\");\n/* harmony import */ var _components_c_zoom_commit_message_vue__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../components/c-zoom-commit-message.vue */ \"./src/components/c-zoom-commit-message.vue\");\n/* harmony import */ var _types_zoom__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../types/zoom */ \"./src/types/zoom.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction zoomInitialState() {\n return {\n showAllCommitMessageBody: true,\n showDiffstat: true,\n commitsSortType: _types_zoom__WEBPACK_IMPORTED_MODULE_31__[\"default\"].Time,\n toReverseSortedCommits: true,\n isCommitsFinalized: false,\n selectedFileTypes: [],\n fileTypes: []\n };\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_25__.defineComponent)({\n name: 'c-zoom',\n components: {\n FontAwesomeIcon: _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_26__.FontAwesomeIcon,\n cRamp: _components_c_ramp_vue__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n cZoomCommitMessage: _components_c_zoom_commit_message_vue__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n mixins: [_mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_27__[\"default\"], _mixin_dynamicTooltipMixin__WEBPACK_IMPORTED_MODULE_28__[\"default\"]],\n data: function data() {\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, zoomInitialState());\n },\n computed: (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n sortingFunction: function sortingFunction() {\n var _this = this;\n var commitSortFunction = this.commitsSortType === _types_zoom__WEBPACK_IMPORTED_MODULE_31__[\"default\"].Time ? function (commit) {\n return commit.date;\n } : function (commit) {\n return commit.insertions;\n };\n return function (a, b) {\n return (_this.toReverseSortedCommits ? -1 : 1) * window.comparator(commitSortFunction)(a, b);\n };\n },\n filteredUser: function filteredUser() {\n var _this2 = this;\n var _this$info = this.info,\n zUser = _this$info.zUser,\n zSince = _this$info.zSince,\n zUntil = _this$info.zUntil,\n zTimeFrame = _this$info.zTimeFrame;\n if (!zUser) {\n return undefined;\n }\n var filteredUser = Object.assign({}, zUser);\n if (zTimeFrame === 'week') {\n filteredUser.commits = zUser.commits.filter(function (commit) {\n return commit.endDate >= zSince && commit.endDate <= zUntil;\n }).sort(this.sortingFunction);\n } else {\n filteredUser.commits = zUser.commits.filter(function (commit) {\n return commit.date >= zSince && commit.date <= zUntil;\n }).sort(this.sortingFunction);\n }\n var tempUser = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, filteredUser);\n tempUser.commits = [];\n filteredUser.commits.forEach(function (commit) {\n var newCommit = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commit);\n newCommit.commitResults = [];\n if (_this2.commitsSortType === _types_zoom__WEBPACK_IMPORTED_MODULE_31__[\"default\"].Time) {\n newCommit.commitResults = _this2.toReverseSortedCommits ? commit.commitResults.slice().reverse() : commit.commitResults.slice();\n } else {\n var cResultsSortingFunction = function cResultsSortingFunction(a, b) {\n return (_this2.toReverseSortedCommits ? -1 : 1) * window.comparator(function (cResult) {\n return cResult.insertions;\n })(a, b);\n };\n newCommit.commitResults = commit.commitResults.slice().sort(cResultsSortingFunction);\n }\n tempUser.commits.push(newCommit);\n });\n return tempUser;\n },\n selectedCommits: function selectedCommits() {\n var _this$filteredUser2,\n _this3 = this;\n if (this.isSelectAllChecked) {\n var _this$filteredUser$co, _this$filteredUser;\n return (_this$filteredUser$co = (_this$filteredUser = this.filteredUser) === null || _this$filteredUser === void 0 ? void 0 : _this$filteredUser.commits) !== null && _this$filteredUser$co !== void 0 ? _this$filteredUser$co : [];\n }\n var commits = [];\n (_this$filteredUser2 = this.filteredUser) === null || _this$filteredUser2 === void 0 ? void 0 : _this$filteredUser2.commits.forEach(function (commit) {\n var filteredCommit = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commit);\n filteredCommit.commitResults = [];\n commit.commitResults.forEach(function (slice) {\n if (Object.keys(slice.fileTypesAndContributionMap).some(function (fileType) {\n return _this3.selectedFileTypes.indexOf(fileType) !== -1;\n })) {\n filteredCommit.commitResults.push(slice);\n }\n });\n if (filteredCommit.commitResults.length > 0) {\n commits.push(filteredCommit);\n }\n });\n return commits;\n },\n totalCommitMessageBodyCount: function totalCommitMessageBodyCount() {\n var nonEmptyCommitMessageCount = 0;\n this.selectedCommits.forEach(function (commit) {\n commit.commitResults.forEach(function (commitResult) {\n if (commitResult.messageBody !== '') {\n nonEmptyCommitMessageCount += 1;\n }\n });\n });\n return nonEmptyCommitMessageCount;\n },\n expandedCommitMessagesCount: function expandedCommitMessagesCount() {\n return this.selectedCommits.reduce(function (prev, commit) {\n return prev + commit.commitResults.filter(function (slice) {\n return slice.isOpen;\n }).length;\n }, 0);\n },\n isSelectAllChecked: {\n get: function get() {\n return this.selectedFileTypes.length === this.fileTypes.length;\n },\n set: function set(value) {\n if (value) {\n this.selectedFileTypes = this.fileTypes.slice();\n } else {\n this.selectedFileTypes = [];\n }\n this.updateSelectedFileTypesHash();\n }\n }\n }, (0,vuex__WEBPACK_IMPORTED_MODULE_32__.mapState)({\n fileTypeColors: function fileTypeColors(state) {\n return state.fileTypeColors;\n },\n info: function info(state) {\n return state.tabZoomInfo;\n }\n })),\n watch: {\n info: function info() {\n var newData = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, zoomInitialState());\n Object.assign(this.$data, newData);\n this.initiate();\n this.setInfoHash();\n },\n commitsSortType: function commitsSortType() {\n window.addHash('zCST', this.commitsSortType);\n window.encodeHash();\n },\n toReverseSortedCommits: function toReverseSortedCommits() {\n window.addHash('zRSC', this.toReverseSortedCommits.toString());\n window.encodeHash();\n }\n },\n created: function created() {\n // return if filteredUser is undefined since it won't make sense to render zoom tab\n // #zoom-tab is also rendered only if filteredUser is defined\n if (!this.filteredUser) {\n this.removeZoomHashes();\n return;\n }\n this.initiate();\n this.retrieveHashes();\n this.setInfoHash();\n },\n beforeUnmount: function beforeUnmount() {\n this.removeZoomHashes();\n },\n methods: {\n initiate: function initiate() {\n this.updateFileTypes();\n this.selectedFileTypes = this.fileTypes.slice();\n },\n scrollToCommit: function scrollToCommit(tag, commit) {\n var el = this.$el.getElementsByClassName(\"\".concat(commit, \" \").concat(tag))[0];\n if (el) {\n el.focus();\n }\n },\n updateFileTypes: function updateFileTypes() {\n if (!this.filteredUser) return;\n var commitsFileTypes = new Set();\n this.filteredUser.commits.forEach(function (commit) {\n commit.commitResults.forEach(function (slice) {\n Object.keys(slice.fileTypesAndContributionMap).forEach(function (fileType) {\n commitsFileTypes.add(fileType);\n });\n });\n });\n this.fileTypes = Object.keys(this.filteredUser.fileTypeContribution).filter(function (fileType) {\n return commitsFileTypes.has(fileType);\n });\n },\n retrieveHashes: function retrieveHashes() {\n this.retrieveSortHash();\n this.retrieveSelectedFileTypesHash();\n },\n retrieveSortHash: function retrieveSortHash() {\n var hash = window.hashParams;\n if (hash.zCST && Object.values(_types_zoom__WEBPACK_IMPORTED_MODULE_31__[\"default\"]).includes(hash.zCST)) {\n this.commitsSortType = hash.zCST;\n }\n if (hash.zRSC) {\n this.toReverseSortedCommits = hash.zRSC === 'true';\n }\n },\n retrieveSelectedFileTypesHash: function retrieveSelectedFileTypesHash() {\n var _this4 = this;\n var hash = window.hashParams;\n if (hash.zFT || hash.zFT === '') {\n this.selectedFileTypes = hash.zFT.split(window.HASH_DELIMITER).filter(function (fileType) {\n return _this4.fileTypes.includes(fileType);\n });\n }\n },\n updateSelectedFileTypesHash: function updateSelectedFileTypesHash() {\n var fileTypeHash = this.selectedFileTypes.length > 0 ? this.selectedFileTypes.reduce(function (a, b) {\n return \"\".concat(a, \"~\").concat(b);\n }) : '';\n window.addHash('zFT', fileTypeHash);\n window.encodeHash();\n },\n setInfoHash: function setInfoHash() {\n var _window = window,\n addHash = _window.addHash,\n encodeHash = _window.encodeHash;\n var _this$info2 = this.info,\n zAvgCommitSize = _this$info2.zAvgCommitSize,\n zSince = _this$info2.zSince,\n zUntil = _this$info2.zUntil,\n zFilterGroup = _this$info2.zFilterGroup,\n zTimeFrame = _this$info2.zTimeFrame,\n zIsMerged = _this$info2.zIsMerged,\n zAuthor = _this$info2.zAuthor,\n zRepo = _this$info2.zRepo,\n zFromRamp = _this$info2.zFromRamp,\n zFilterSearch = _this$info2.zFilterSearch;\n addHash('zA', zAuthor);\n addHash('zR', zRepo);\n addHash('zACS', zAvgCommitSize.toString());\n addHash('zS', zSince);\n addHash('zFS', zFilterSearch);\n addHash('zU', zUntil);\n addHash('zMG', zIsMerged.toString());\n addHash('zFTF', zTimeFrame);\n addHash('zFGS', zFilterGroup);\n addHash('zFR', zFromRamp.toString());\n encodeHash();\n },\n toggleAllCommitMessagesBody: function toggleAllCommitMessagesBody(isOpen) {\n this.showAllCommitMessageBody = isOpen;\n this.$store.commit('setAllZoomCommitMessageBody', {\n isOpen: isOpen,\n commits: this.selectedCommits\n });\n },\n toggleDiffstatView: function toggleDiffstatView(isVisible) {\n this.showDiffstat = isVisible;\n },\n removeZoomHashes: function removeZoomHashes() {\n window.removeHash('zA');\n window.removeHash('zR');\n window.removeHash('zFS');\n window.removeHash('zACS');\n window.removeHash('zS');\n window.removeHash('zU');\n window.removeHash('zFGS');\n window.removeHash('zFTF');\n window.removeHash('zMG');\n window.removeHash('zFT');\n window.removeHash('zCST');\n window.removeHash('zRSC');\n window.removeHash('zFR');\n window.encodeHash();\n },\n getFontColor: function getFontColor(color) {\n return window.getFontColor(color);\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/views/c-zoom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.reverse.js */ \"./node_modules/core-js/modules/es.array.reverse.js\");\n/* harmony import */ var core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ \"./node_modules/core-js/modules/es.array.some.js\");\n/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.index-of.js */ \"./node_modules/core-js/modules/es.array.index-of.js\");\n/* harmony import */ var core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.error.to-string.js */ \"./node_modules/core-js/modules/es.error.to-string.js\");\n/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ \"./node_modules/core-js/modules/es.date.to-string.js\");\n/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.set.js */ \"./node_modules/core-js/modules/es.set.js\");\n/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @fortawesome/vue-fontawesome */ \"./node_modules/@fortawesome/vue-fontawesome/index.es.js\");\n/* harmony import */ var _mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../mixin/brokenLinkMixin */ \"./src/mixin/brokenLinkMixin.ts\");\n/* harmony import */ var _mixin_dynamicTooltipMixin__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../mixin/dynamicTooltipMixin */ \"./src/mixin/dynamicTooltipMixin.ts\");\n/* harmony import */ var _components_c_ramp_vue__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../components/c-ramp.vue */ \"./src/components/c-ramp.vue\");\n/* harmony import */ var _components_c_zoom_commit_message_vue__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../components/c-zoom-commit-message.vue */ \"./src/components/c-zoom-commit-message.vue\");\n/* harmony import */ var _components_c_file_type_checkboxes_vue__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../components/c-file-type-checkboxes.vue */ \"./src/components/c-file-type-checkboxes.vue\");\n/* harmony import */ var _types_zoom__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../types/zoom */ \"./src/types/zoom.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction zoomInitialState() {\n return {\n showAllCommitMessageBody: true,\n showDiffstat: true,\n commitsSortType: _types_zoom__WEBPACK_IMPORTED_MODULE_32__[\"default\"].Time,\n toReverseSortedCommits: true,\n isCommitsFinalized: false,\n selectedFileTypes: [],\n fileTypes: []\n };\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_25__.defineComponent)({\n name: 'c-zoom',\n components: {\n FontAwesomeIcon: _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_26__.FontAwesomeIcon,\n cRamp: _components_c_ramp_vue__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n cZoomCommitMessage: _components_c_zoom_commit_message_vue__WEBPACK_IMPORTED_MODULE_30__[\"default\"],\n cFileTypeCheckboxes: _components_c_file_type_checkboxes_vue__WEBPACK_IMPORTED_MODULE_31__[\"default\"]\n },\n mixins: [_mixin_brokenLinkMixin__WEBPACK_IMPORTED_MODULE_27__[\"default\"], _mixin_dynamicTooltipMixin__WEBPACK_IMPORTED_MODULE_28__[\"default\"]],\n data: function data() {\n return (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, zoomInitialState());\n },\n computed: (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n sortingFunction: function sortingFunction() {\n var _this = this;\n var commitSortFunction = this.commitsSortType === _types_zoom__WEBPACK_IMPORTED_MODULE_32__[\"default\"].Time ? function (commit) {\n return commit.date;\n } : function (commit) {\n return commit.insertions;\n };\n return function (a, b) {\n return (_this.toReverseSortedCommits ? -1 : 1) * window.comparator(commitSortFunction)(a, b);\n };\n },\n filteredUser: function filteredUser() {\n var _this2 = this;\n var _this$info = this.info,\n zUser = _this$info.zUser,\n zSince = _this$info.zSince,\n zUntil = _this$info.zUntil,\n zTimeFrame = _this$info.zTimeFrame;\n if (!zUser) {\n return undefined;\n }\n var filteredUser = Object.assign({}, zUser);\n if (zTimeFrame === 'week') {\n filteredUser.commits = zUser.commits.filter(function (commit) {\n return commit.endDate >= zSince && commit.endDate <= zUntil;\n }).sort(this.sortingFunction);\n } else {\n filteredUser.commits = zUser.commits.filter(function (commit) {\n return commit.date >= zSince && commit.date <= zUntil;\n }).sort(this.sortingFunction);\n }\n var tempUser = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, filteredUser);\n tempUser.commits = [];\n filteredUser.commits.forEach(function (commit) {\n var newCommit = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commit);\n newCommit.commitResults = [];\n if (_this2.commitsSortType === _types_zoom__WEBPACK_IMPORTED_MODULE_32__[\"default\"].Time) {\n newCommit.commitResults = _this2.toReverseSortedCommits ? commit.commitResults.slice().reverse() : commit.commitResults.slice();\n } else {\n var cResultsSortingFunction = function cResultsSortingFunction(a, b) {\n return (_this2.toReverseSortedCommits ? -1 : 1) * window.comparator(function (cResult) {\n return cResult.insertions;\n })(a, b);\n };\n newCommit.commitResults = commit.commitResults.slice().sort(cResultsSortingFunction);\n }\n tempUser.commits.push(newCommit);\n });\n return tempUser;\n },\n selectedCommits: function selectedCommits() {\n var _this$filteredUser2,\n _this3 = this;\n if (this.isSelectAllChecked()) {\n var _this$filteredUser$co, _this$filteredUser;\n return (_this$filteredUser$co = (_this$filteredUser = this.filteredUser) === null || _this$filteredUser === void 0 ? void 0 : _this$filteredUser.commits) !== null && _this$filteredUser$co !== void 0 ? _this$filteredUser$co : [];\n }\n var commits = [];\n (_this$filteredUser2 = this.filteredUser) === null || _this$filteredUser2 === void 0 ? void 0 : _this$filteredUser2.commits.forEach(function (commit) {\n var filteredCommit = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commit);\n filteredCommit.commitResults = [];\n commit.commitResults.forEach(function (slice) {\n if (Object.keys(slice.fileTypesAndContributionMap).some(function (fileType) {\n return _this3.selectedFileTypes.indexOf(fileType) !== -1;\n })) {\n filteredCommit.commitResults.push(slice);\n }\n });\n if (filteredCommit.commitResults.length > 0) {\n commits.push(filteredCommit);\n }\n });\n return commits;\n },\n totalCommitMessageBodyCount: function totalCommitMessageBodyCount() {\n var nonEmptyCommitMessageCount = 0;\n this.selectedCommits.forEach(function (commit) {\n commit.commitResults.forEach(function (commitResult) {\n if (commitResult.messageBody !== '') {\n nonEmptyCommitMessageCount += 1;\n }\n });\n });\n return nonEmptyCommitMessageCount;\n },\n expandedCommitMessagesCount: function expandedCommitMessagesCount() {\n return this.selectedCommits.reduce(function (prev, commit) {\n return prev + commit.commitResults.filter(function (slice) {\n return slice.isOpen;\n }).length;\n }, 0);\n }\n }, (0,vuex__WEBPACK_IMPORTED_MODULE_33__.mapState)({\n fileTypeColors: function fileTypeColors(state) {\n return state.fileTypeColors;\n },\n info: function info(state) {\n return state.tabZoomInfo;\n }\n })),\n watch: {\n info: function info() {\n var newData = (0,_home_runner_work_tp_dashboard_tp_dashboard_RepoSense_frontend_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, zoomInitialState());\n Object.assign(this.$data, newData);\n this.initiate();\n this.setInfoHash();\n },\n commitsSortType: function commitsSortType() {\n window.addHash('zCST', this.commitsSortType);\n window.encodeHash();\n },\n toReverseSortedCommits: function toReverseSortedCommits() {\n window.addHash('zRSC', this.toReverseSortedCommits.toString());\n window.encodeHash();\n }\n },\n created: function created() {\n // return if filteredUser is undefined since it won't make sense to render zoom tab\n // #zoom-tab is also rendered only if filteredUser is defined\n if (!this.filteredUser) {\n this.removeZoomHashes();\n return;\n }\n this.initiate();\n this.retrieveHashes();\n this.setInfoHash();\n },\n beforeUnmount: function beforeUnmount() {\n this.removeZoomHashes();\n },\n methods: {\n initiate: function initiate() {\n this.updateFileTypes();\n this.selectedFileTypes = this.fileTypes.slice();\n },\n scrollToCommit: function scrollToCommit(tag, commit) {\n var el = this.$el.getElementsByClassName(\"\".concat(commit, \" \").concat(tag))[0];\n if (el) {\n el.focus();\n }\n },\n updateFileTypes: function updateFileTypes() {\n if (!this.filteredUser) return;\n var commitsFileTypes = new Set();\n this.filteredUser.commits.forEach(function (commit) {\n commit.commitResults.forEach(function (slice) {\n Object.keys(slice.fileTypesAndContributionMap).forEach(function (fileType) {\n commitsFileTypes.add(fileType);\n });\n });\n });\n this.fileTypes = Object.keys(this.filteredUser.fileTypeContribution).filter(function (fileType) {\n return commitsFileTypes.has(fileType);\n });\n },\n retrieveHashes: function retrieveHashes() {\n this.retrieveSortHash();\n this.retrieveSelectedFileTypesHash();\n },\n retrieveSortHash: function retrieveSortHash() {\n var hash = window.hashParams;\n if (hash.zCST && Object.values(_types_zoom__WEBPACK_IMPORTED_MODULE_32__[\"default\"]).includes(hash.zCST)) {\n this.commitsSortType = hash.zCST;\n }\n if (hash.zRSC) {\n this.toReverseSortedCommits = hash.zRSC === 'true';\n }\n },\n retrieveSelectedFileTypesHash: function retrieveSelectedFileTypesHash() {\n var _this4 = this;\n var hash = window.hashParams;\n if (hash.zFT || hash.zFT === '') {\n this.selectedFileTypes = hash.zFT.split(window.HASH_DELIMITER).filter(function (fileType) {\n return _this4.fileTypes.includes(fileType);\n });\n }\n },\n isSelectAllChecked: function isSelectAllChecked() {\n return this.selectedFileTypes.length === this.fileTypes.length;\n },\n updateSelectedFileTypesHash: function updateSelectedFileTypesHash() {\n var fileTypeHash = this.selectedFileTypes.length > 0 ? this.selectedFileTypes.reduce(function (a, b) {\n return \"\".concat(a, \"~\").concat(b);\n }) : '';\n window.addHash('zFT', fileTypeHash);\n window.encodeHash();\n },\n setInfoHash: function setInfoHash() {\n var _window = window,\n addHash = _window.addHash,\n encodeHash = _window.encodeHash;\n var _this$info2 = this.info,\n zAvgCommitSize = _this$info2.zAvgCommitSize,\n zSince = _this$info2.zSince,\n zUntil = _this$info2.zUntil,\n zFilterGroup = _this$info2.zFilterGroup,\n zTimeFrame = _this$info2.zTimeFrame,\n zIsMerged = _this$info2.zIsMerged,\n zAuthor = _this$info2.zAuthor,\n zRepo = _this$info2.zRepo,\n zFromRamp = _this$info2.zFromRamp,\n zFilterSearch = _this$info2.zFilterSearch;\n addHash('zA', zAuthor);\n addHash('zR', zRepo);\n addHash('zACS', zAvgCommitSize.toString());\n addHash('zS', zSince);\n addHash('zFS', zFilterSearch);\n addHash('zU', zUntil);\n addHash('zMG', zIsMerged.toString());\n addHash('zFTF', zTimeFrame);\n addHash('zFGS', zFilterGroup);\n addHash('zFR', zFromRamp.toString());\n encodeHash();\n },\n toggleAllCommitMessagesBody: function toggleAllCommitMessagesBody(isOpen) {\n this.showAllCommitMessageBody = isOpen;\n this.$store.commit('setAllZoomCommitMessageBody', {\n isOpen: isOpen,\n commits: this.selectedCommits\n });\n },\n toggleDiffstatView: function toggleDiffstatView(isVisible) {\n this.showDiffstat = isVisible;\n },\n removeZoomHashes: function removeZoomHashes() {\n window.removeHash('zA');\n window.removeHash('zR');\n window.removeHash('zFS');\n window.removeHash('zACS');\n window.removeHash('zS');\n window.removeHash('zU');\n window.removeHash('zFGS');\n window.removeHash('zFTF');\n window.removeHash('zMG');\n window.removeHash('zFT');\n window.removeHash('zCST');\n window.removeHash('zRSC');\n window.removeHash('zFR');\n window.encodeHash();\n }\n }\n}));\n\n//# sourceURL=webpack://reposense/./src/views/c-zoom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -185,6 +196,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug": +/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug ***! + \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _withScopeId = function _withScopeId(n) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-1247c6e6\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n;\n};\nvar _hoisted_1 = {\n key: 0,\n \"class\": \"checkboxes mui-form--inline\"\n};\nvar _hoisted_2 = {\n \"class\": \"all-checkbox\"\n};\nvar _hoisted_3 = [\"title\"];\nvar _hoisted_4 = {\n key: 1\n};\nvar _hoisted_5 = [\"value\", \"id\"];\nvar _hoisted_6 = [\"title\"];\nvar _hoisted_7 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _this = this;\n return _ctx.fileTypes.length > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"label\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n id: \"all\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = function ($event) {\n return _ctx.isAllChecked = $event;\n }),\n value: \"all\"\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox, _ctx.isAllChecked]]), _ctx.allCheckboxLabel ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", {\n key: 0,\n title: _ctx.getTitle(_ctx.allCheckboxLabel)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.getLabel(_ctx.allCheckboxLabel)), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_3)) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_4, \"All \"))]), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.fileTypes, function (fileType, index) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"label\", {\n key: fileType,\n style: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle)({\n 'background-color': _ctx.fileTypeColors[fileType],\n 'color': _ctx.getFontColor(_ctx.fileTypeColors[fileType])\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n value: fileType,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = function ($event) {\n return _ctx.localSelectedFileTypes = $event;\n }),\n id: fileType\n }, null, 8 /* PROPS */, _hoisted_5), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox, _ctx.localSelectedFileTypes]]), _ctx.fileTypeCheckboxLabels ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", {\n key: 0,\n title: _ctx.getTitle(_ctx.fileTypeCheckboxLabels[index])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.getLabel(_ctx.fileTypeCheckboxLabels[index])), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_6)) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_this.fileTypes[index]) + \" \", 1 /* TEXT */))], 4 /* STYLE */);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true);\n}\n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-ramp.vue?vue&type=template&id=0b6fff4c&scoped=true&ts=true&lang=pug": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-ramp.vue?vue&type=template&id=0b6fff4c&scoped=true&ts=true&lang=pug ***! @@ -280,7 +302,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\nvar _hoisted_1 = {\n id: \"authorship\"\n};\nvar _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n \"class\": \"panel-title\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"Code Panel\")], -1 /* HOISTED */);\nvar _hoisted_3 = {\n \"class\": \"toolbar--multiline\"\n};\nvar _hoisted_4 = {\n \"class\": \"panel-heading\"\n};\nvar _hoisted_5 = [\"href\"];\nvar _hoisted_6 = {\n key: 0,\n \"class\": \"author\"\n};\nvar _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\nvar _hoisted_8 = {\n \"class\": \"period\"\n};\nvar _hoisted_9 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\nvar _hoisted_10 = {\n \"class\": \"title\"\n};\nvar _hoisted_11 = {\n key: 0,\n \"class\": \"contribution\"\n};\nvar _hoisted_12 = {\n \"class\": \"sorting mui-form--inline\"\n};\nvar _hoisted_13 = {\n \"class\": \"mui-select sort-by\"\n};\nvar _hoisted_14 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"linesOfCode\"\n}, \"LoC\", -1 /* HOISTED */);\nvar _hoisted_15 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"path\"\n}, \"Path\", -1 /* HOISTED */);\nvar _hoisted_16 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"fileName\"\n}, \"File Name\", -1 /* HOISTED */);\nvar _hoisted_17 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"fileType\"\n}, \"File Type\", -1 /* HOISTED */);\nvar _hoisted_18 = [_hoisted_14, _hoisted_15, _hoisted_16, _hoisted_17];\nvar _hoisted_19 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", null, \"sort by\", -1 /* HOISTED */);\nvar _hoisted_20 = {\n \"class\": \"mui-select sort-order\"\n};\nvar _hoisted_21 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: true\n}, \"Descending\", -1 /* HOISTED */);\nvar _hoisted_22 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: false\n}, \"Ascending\", -1 /* HOISTED */);\nvar _hoisted_23 = [_hoisted_21, _hoisted_22];\nvar _hoisted_24 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", null, \"order\", -1 /* HOISTED */);\nvar _hoisted_25 = {\n \"class\": \"searchbox\"\n};\nvar _hoisted_26 = {\n \"class\": \"mui-form--inline\"\n};\nvar _hoisted_27 = [\"value\"];\nvar _hoisted_28 = {\n \"class\": \"fileTypes\"\n};\nvar _hoisted_29 = {\n key: 0,\n \"class\": \"checkboxes mui-form--inline\"\n};\nvar _hoisted_30 = {\n style: {\n \"background-color\": \"#000000\",\n \"color\": \"#ffffff\"\n }\n};\nvar _hoisted_31 = [\"title\"];\nvar _hoisted_32 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"All \", -1 /* HOISTED */);\nvar _hoisted_33 = [\"id\", \"value\"];\nvar _hoisted_34 = [\"title\"];\nvar _hoisted_35 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"br\", null, null, -1 /* HOISTED */);\nvar _hoisted_36 = {\n key: 0,\n \"class\": \"binary-fileType\"\n};\nvar _hoisted_37 = [\"title\"];\nvar _hoisted_38 = {\n key: 1,\n \"class\": \"ignored-fileType\"\n};\nvar _hoisted_39 = [\"title\"];\nvar _hoisted_40 = {\n key: 0,\n \"class\": \"files\"\n};\nvar _hoisted_41 = {\n key: 0,\n \"class\": \"empty\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _this = this;\n var _component_c_authorship_file = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"c-authorship-file\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_1, [_hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_3, [_ctx.activeFilesCount < _ctx.selectedFiles.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.toggleAllFileActiveProperty(true);\n })\n }, \"show all file details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), _ctx.activeFilesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 1,\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.toggleAllFileActiveProperty(false);\n })\n }, \"hide all file details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"a\", {\n \"class\": \"group-name\",\n href: _ctx.info.location,\n target: \"_blank\",\n title: 'Click to open the repo'\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.repo), 9 /* TEXT, PROPS */, _hoisted_5), !_ctx.info.isMergeGroup ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_6, [_hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.authorDisplayName) + \" (\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.author) + \")\", 1 /* TEXT */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_8, [_hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.minDate) + \" to \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.maxDate) + \"   (\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.selectedFiles.length) + \" files changed)\", 1 /* TEXT */)])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_10, [_ctx.isLoaded && _ctx.info.files.length != 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_11, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = function ($event) {\n return _ctx.filesSortType = $event;\n })\n }, [].concat(_hoisted_18), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelSelect, _ctx.filesSortType]]), _hoisted_19]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_20, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = function ($event) {\n return _ctx.toReverseSortFiles = $event;\n })\n }, [].concat(_hoisted_23), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelSelect, _ctx.toReverseSortFiles]]), _hoisted_24])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"radio-button--search\",\n type: \"radio\",\n value: \"search\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = function ($event) {\n return _ctx.filterType = $event;\n }),\n onChange: _cache[5] || (_cache[5] =\n //@ts-ignore\n function () {\n return _ctx.indicateSearchBar && _ctx.indicateSearchBar.apply(_ctx, arguments);\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelRadio, _ctx.filterType]]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_26, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n id: \"search\",\n type: \"search\",\n placeholder: \"Filter by glob\",\n ref: \"searchBar\",\n value: _ctx.searchBarValue,\n onKeyup: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_2__.withKeys)(function ($event) {\n _ctx.indicateSearchBar();\n _ctx.updateSearchBarValue();\n }, [\"enter\"]))\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_27), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"button\", {\n id: \"submit-button\",\n type: \"button\",\n onClick: _cache[7] || (_cache[7] = function ($event) {\n _ctx.indicateSearchBar();\n _ctx.updateSearchBarValue();\n })\n }, \"Filter\")])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_28, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"radio-button--checkbox\",\n type: \"radio\",\n value: \"checkboxes\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = function ($event) {\n return _ctx.filterType = $event;\n }),\n onChange: _cache[9] || (_cache[9] =\n //@ts-ignore\n function () {\n return _ctx.indicateCheckBoxes && _ctx.indicateCheckBoxes.apply(_ctx, arguments);\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelRadio, _ctx.filterType]]), _ctx.info.files.length > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_29, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n id: \"all\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = function ($event) {\n return _ctx.isSelectAllChecked = $event;\n })\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelCheckbox, _ctx.isSelectAllChecked]]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", {\n title: _ctx.getTotalFileBlankLineInfo()\n }, [_hoisted_32, (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.totalLineCount) + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"(\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.totalLineCount - _ctx.totalBlankLineCount) + \") \", 1 /* TEXT */)], 8 /* PROPS */, _hoisted_31)]), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(Object.keys(_ctx.fileTypeLinesObj), function (fileType) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"label\", {\n key: fileType,\n style: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeStyle)({\n 'background-color': _ctx.fileTypeColors[fileType],\n 'color': _ctx.getFontColor(_ctx.fileTypeColors[fileType])\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n id: fileType,\n value: fileType,\n onChange: _cache[11] || (_cache[11] =\n //@ts-ignore\n function () {\n return _ctx.indicateCheckBoxes && _ctx.indicateCheckBoxes.apply(_ctx, arguments);\n }),\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = function ($event) {\n return _ctx.selectedFileTypes = $event;\n })\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_33), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelCheckbox, _ctx.selectedFileTypes]]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", {\n title: _ctx.getFileTypeBlankLineInfo(fileType)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(fileType) + \" \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.fileTypeLinesObj[fileType]) + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"(\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.fileTypeLinesObj[fileType] - _ctx.fileTypeBlankLinesObj[fileType]) + \") \", 1 /* TEXT */)], 8 /* PROPS */, _hoisted_34)], 4 /* STYLE */);\n }), 128 /* KEYED_FRAGMENT */)), _hoisted_35, _ctx.binaryFilesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"label\", _hoisted_36, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = function ($event) {\n return _ctx.isBinaryChecked = $event;\n })\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelCheckbox, _ctx.isBinaryChecked]]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", {\n title: \"\".concat(_ctx.binaryFilesCount, \" binary files (not included in total line count)\")\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.binaryFilesCount) + \" binary file(s)\", 1 /* TEXT */)], 8 /* PROPS */, _hoisted_37)])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), _ctx.ignoredFilesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"label\", _hoisted_38, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = function ($event) {\n return _ctx.isIgnoredChecked = $event;\n })\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelCheckbox, _ctx.isIgnoredChecked]]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", {\n title: \"\".concat(_ctx.ignoredFilesCount, \" ignored files (included in total line count)\")\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.ignoredFilesCount) + \" ignored file(s)\", 1 /* TEXT */)], 8 /* PROPS */, _hoisted_39)])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)]), _ctx.isLoaded ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_40, [_ctx.info.files.length === 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_41, \"nothing to see here :(\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.selectedFiles, function (file, index) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_c_authorship_file, {\n key: file.path,\n file: file,\n index: index,\n \"files-sort-type\": _this.filesSortType,\n info: _this.info,\n \"author-colors\": _this.authorColors,\n \"file-type-colors\": _this.fileTypeColors,\n onToggleFileActiveProperty: _ctx.toggleFileActiveProperty\n }, null, 8 /* PROPS */, [\"file\", \"index\", \"files-sort-type\", \"info\", \"author-colors\", \"file-type-colors\", \"onToggleFileActiveProperty\"]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)]);\n}\n\n//# sourceURL=webpack://reposense/./src/views/c-authorship.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\nvar _hoisted_1 = {\n id: \"authorship\"\n};\nvar _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", {\n \"class\": \"panel-title\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, \"Code Panel\")], -1 /* HOISTED */);\nvar _hoisted_3 = {\n \"class\": \"toolbar--multiline\"\n};\nvar _hoisted_4 = {\n \"class\": \"panel-heading\"\n};\nvar _hoisted_5 = [\"href\"];\nvar _hoisted_6 = {\n key: 0,\n \"class\": \"author\"\n};\nvar _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\nvar _hoisted_8 = {\n \"class\": \"period\"\n};\nvar _hoisted_9 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\nvar _hoisted_10 = {\n \"class\": \"title\"\n};\nvar _hoisted_11 = {\n key: 0,\n \"class\": \"contribution\"\n};\nvar _hoisted_12 = {\n \"class\": \"sorting mui-form--inline\"\n};\nvar _hoisted_13 = {\n \"class\": \"mui-select sort-by\"\n};\nvar _hoisted_14 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"option\", {\n value: \"linesOfCode\"\n}, \"LoC\", -1 /* HOISTED */);\nvar _hoisted_15 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"option\", {\n value: \"path\"\n}, \"Path\", -1 /* HOISTED */);\nvar _hoisted_16 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"option\", {\n value: \"fileName\"\n}, \"File Name\", -1 /* HOISTED */);\nvar _hoisted_17 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"option\", {\n value: \"fileType\"\n}, \"File Type\", -1 /* HOISTED */);\nvar _hoisted_18 = [_hoisted_14, _hoisted_15, _hoisted_16, _hoisted_17];\nvar _hoisted_19 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"label\", null, \"sort by\", -1 /* HOISTED */);\nvar _hoisted_20 = {\n \"class\": \"mui-select sort-order\"\n};\nvar _hoisted_21 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"option\", {\n value: true\n}, \"Descending\", -1 /* HOISTED */);\nvar _hoisted_22 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"option\", {\n value: false\n}, \"Ascending\", -1 /* HOISTED */);\nvar _hoisted_23 = [_hoisted_21, _hoisted_22];\nvar _hoisted_24 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"label\", null, \"order\", -1 /* HOISTED */);\nvar _hoisted_25 = {\n \"class\": \"searchbox\"\n};\nvar _hoisted_26 = {\n \"class\": \"mui-form--inline\"\n};\nvar _hoisted_27 = [\"value\"];\nvar _hoisted_28 = {\n \"class\": \"fileTypes\"\n};\nvar _hoisted_29 = {\n \"class\": \"checkboxes mui-form--inline\"\n};\nvar _hoisted_30 = {\n key: 0,\n \"class\": \"binary-fileType\"\n};\nvar _hoisted_31 = [\"title\"];\nvar _hoisted_32 = {\n key: 1,\n \"class\": \"ignored-fileType\"\n};\nvar _hoisted_33 = [\"title\"];\nvar _hoisted_34 = {\n key: 0,\n \"class\": \"files\"\n};\nvar _hoisted_35 = {\n key: 0,\n \"class\": \"empty\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _this = this;\n var _component_c_file_type_checkboxes = (0,vue__WEBPACK_IMPORTED_MODULE_1__.resolveComponent)(\"c-file-type-checkboxes\");\n var _component_c_authorship_file = (0,vue__WEBPACK_IMPORTED_MODULE_1__.resolveComponent)(\"c-authorship-file\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"div\", _hoisted_1, [_hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_3, [_ctx.activeFilesCount < _ctx.selectedFiles.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"a\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.toggleAllFileActiveProperty(true);\n })\n }, \"show all file details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true), _ctx.activeFilesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"a\", {\n key: 1,\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.toggleAllFileActiveProperty(false);\n })\n }, \"hide all file details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"a\", {\n \"class\": \"group-name\",\n href: _ctx.info.location,\n target: \"_blank\",\n title: 'Click to open the repo'\n }, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.info.repo), 9 /* TEXT, PROPS */, _hoisted_5), !_ctx.info.isMergeGroup ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"div\", _hoisted_6, [_hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.authorDisplayName) + \" (\" + (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.info.author) + \")\", 1 /* TEXT */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_8, [_hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.info.minDate) + \" to \" + (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.info.maxDate) + \"   (\" + (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.selectedFiles.length) + \" files changed)\", 1 /* TEXT */)])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_10, [_ctx.isLoaded && _ctx.info.files.length != 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"div\", _hoisted_11, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = function ($event) {\n return _ctx.filesSortType = $event;\n })\n }, [].concat(_hoisted_18), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_1__.vModelSelect, _ctx.filesSortType]]), _hoisted_19]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_20, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = function ($event) {\n return _ctx.toReverseSortFiles = $event;\n })\n }, [].concat(_hoisted_23), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_1__.vModelSelect, _ctx.toReverseSortFiles]]), _hoisted_24])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"input\", {\n \"class\": \"radio-button--search\",\n type: \"radio\",\n value: \"search\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = function ($event) {\n return _ctx.filterType = $event;\n }),\n onChange: _cache[5] || (_cache[5] =\n //@ts-ignore\n function () {\n return _ctx.indicateSearchBar && _ctx.indicateSearchBar.apply(_ctx, arguments);\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_1__.vModelRadio, _ctx.filterType]]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_26, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"input\", {\n id: \"search\",\n type: \"search\",\n placeholder: \"Filter by glob\",\n ref: \"searchBar\",\n value: _ctx.searchBarValue,\n onKeyup: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_1__.withKeys)(function ($event) {\n _ctx.indicateSearchBar();\n _ctx.updateSearchBarValue();\n }, [\"enter\"]))\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_27), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"button\", {\n id: \"submit-button\",\n type: \"button\",\n onClick: _cache[7] || (_cache[7] = function ($event) {\n _ctx.indicateSearchBar();\n _ctx.updateSearchBarValue();\n })\n }, \"Filter\")])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_28, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"input\", {\n \"class\": \"radio-button--checkbox\",\n type: \"radio\",\n value: \"checkboxes\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = function ($event) {\n return _ctx.filterType = $event;\n }),\n onChange: _cache[9] || (_cache[9] =\n //@ts-ignore\n function () {\n return _ctx.indicateCheckBoxes && _ctx.indicateCheckBoxes.apply(_ctx, arguments);\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_1__.vModelRadio, _ctx.filterType]]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(_component_c_file_type_checkboxes, {\n \"file-types\": _ctx.fileTypes,\n \"file-type-colors\": _ctx.fileTypeColors,\n \"selected-file-types\": _ctx.selectedFileTypes,\n \"onUpdate:selectedFileTypes\": [_cache[10] || (_cache[10] = function ($event) {\n return _ctx.selectedFileTypes = $event;\n }), _ctx.indicateCheckBoxes],\n \"all-checkbox-label\": _ctx.allCheckboxLabel,\n \"file-type-checkbox-labels\": _ctx.checkboxLabels\n }, null, 8 /* PROPS */, [\"file-types\", \"file-type-colors\", \"selected-file-types\", \"onUpdate:selectedFileTypes\", \"all-checkbox-label\", \"file-type-checkbox-labels\"]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_29, [_ctx.binaryFilesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"label\", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = function ($event) {\n return _ctx.isBinaryChecked = $event;\n })\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_1__.vModelCheckbox, _ctx.isBinaryChecked]]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", {\n title: \"\".concat(_ctx.binaryFilesCount, \" binary files (not included in total line count)\")\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.binaryFilesCount) + \" binary file(s)\", 1 /* TEXT */)], 8 /* PROPS */, _hoisted_31)])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true), _ctx.ignoredFilesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"label\", _hoisted_32, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = function ($event) {\n return _ctx.isIgnoredChecked = $event;\n })\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_1__.vModelCheckbox, _ctx.isIgnoredChecked]]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", {\n title: \"\".concat(_ctx.ignoredFilesCount, \" ignored files (included in total line count)\")\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)(_ctx.ignoredFilesCount) + \" ignored file(s)\", 1 /* TEXT */)], 8 /* PROPS */, _hoisted_33)])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true)]), _ctx.isLoaded ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"div\", _hoisted_34, [_ctx.info.files.length === 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(\"div\", _hoisted_35, \"nothing to see here :(\")) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true), ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_1__.renderList)(_ctx.selectedFiles, function (file, index) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createBlock)(_component_c_authorship_file, {\n key: file.path,\n file: file,\n index: index,\n \"files-sort-type\": _this.filesSortType,\n info: _this.info,\n \"author-colors\": _this.authorColors,\n \"file-type-colors\": _this.fileTypeColors,\n onToggleFileActiveProperty: _ctx.toggleFileActiveProperty\n }, null, 8 /* PROPS */, [\"file\", \"index\", \"files-sort-type\", \"info\", \"author-colors\", \"file-type-colors\", \"onToggleFileActiveProperty\"]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)(\"v-if\", true)]);\n}\n\n//# sourceURL=webpack://reposense/./src/views/c-authorship.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -302,7 +324,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"./node_modules/core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\n\n\n\n\nvar _hoisted_1 = {\n id: \"summary\"\n};\nvar _hoisted_2 = {\n key: 0,\n \"class\": \"summary-picker mui-form--inline\",\n onsubmit: \"return false;\"\n};\nvar _hoisted_3 = {\n \"class\": \"summary-picker__section\"\n};\nvar _hoisted_4 = {\n \"class\": \"mui-textfield search_box\"\n};\nvar _hoisted_5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"search\", -1 /* HOISTED */);\nvar _hoisted_6 = {\n \"class\": \"mui-select grouping\"\n};\nvar _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"groupByNone\"\n}, \"None\", -1 /* HOISTED */);\nvar _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"groupByRepos\"\n}, \"Repo/Branch\", -1 /* HOISTED */);\nvar _hoisted_9 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"groupByAuthors\"\n}, \"Author\", -1 /* HOISTED */);\nvar _hoisted_10 = [_hoisted_7, _hoisted_8, _hoisted_9];\nvar _hoisted_11 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"group by\", -1 /* HOISTED */);\nvar _hoisted_12 = {\n \"class\": \"mui-select sort-group\"\n};\nvar _hoisted_13 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createStaticVNode)(\"\", 6);\nvar _hoisted_19 = [_hoisted_13];\nvar _hoisted_20 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"sort groups by\", -1 /* HOISTED */);\nvar _hoisted_21 = {\n \"class\": \"mui-select sort-within-group\"\n};\nvar _hoisted_22 = [\"disabled\"];\nvar _hoisted_23 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createStaticVNode)(\"\", 6);\nvar _hoisted_29 = [_hoisted_23];\nvar _hoisted_30 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"sort within groups by\", -1 /* HOISTED */);\nvar _hoisted_31 = {\n \"class\": \"mui-select granularity\"\n};\nvar _hoisted_32 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"commit\"\n}, \"Commit\", -1 /* HOISTED */);\nvar _hoisted_33 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"day\"\n}, \"Day\", -1 /* HOISTED */);\nvar _hoisted_34 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"week\"\n}, \"Week\", -1 /* HOISTED */);\nvar _hoisted_35 = [_hoisted_32, _hoisted_33, _hoisted_34];\nvar _hoisted_36 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"granularity\", -1 /* HOISTED */);\nvar _hoisted_37 = {\n \"class\": \"mui-textfield\"\n};\nvar _hoisted_38 = [\"value\"];\nvar _hoisted_39 = [\"value\", \"min\", \"max\"];\nvar _hoisted_40 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"since\", -1 /* HOISTED */);\nvar _hoisted_41 = {\n \"class\": \"mui-textfield\"\n};\nvar _hoisted_42 = [\"value\"];\nvar _hoisted_43 = [\"value\", \"min\", \"max\"];\nvar _hoisted_44 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"until\", -1 /* HOISTED */);\nvar _hoisted_45 = {\n \"class\": \"mui-textfield\"\n};\nvar _hoisted_46 = {\n \"class\": \"summary-picker__checkboxes summary-picker__section\"\n};\nvar _hoisted_47 = {\n \"class\": \"filter-breakdown\"\n};\nvar _hoisted_48 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"breakdown by file type\", -1 /* HOISTED */);\nvar _hoisted_49 = [\"disabled\"];\nvar _hoisted_50 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"merge all groups\", -1 /* HOISTED */);\nvar _hoisted_51 = {\n key: 1,\n \"class\": \"error-message-box\"\n};\nvar _hoisted_52 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", {\n \"class\": \"error-message-box__message\"\n}, \"The following issues occurred when analyzing the following repositories:\", -1 /* HOISTED */);\nvar _hoisted_53 = {\n \"class\": \"error-message-box__failed-repo\"\n};\nvar _hoisted_54 = {\n \"class\": \"error-message-box__failed-repo--name\"\n};\nvar _hoisted_55 = {\n key: 0,\n \"class\": \"error-message-box__failed-repo--reason\"\n};\nvar _hoisted_56 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"Oops, an unexpected error occurred. If this is due to a problem in RepoSense, please report in \", -1 /* HOISTED */);\nvar _hoisted_57 = [\"href\"];\nvar _hoisted_58 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"strong\", null, \"our issue tracker \", -1 /* HOISTED */);\nvar _hoisted_59 = [_hoisted_58];\nvar _hoisted_60 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"or email us at \", -1 /* HOISTED */);\nvar _hoisted_61 = [\"href\"];\nvar _hoisted_62 = {\n key: 1,\n \"class\": \"error-message-box__failed-repo--reason\"\n};\nvar _hoisted_63 = {\n key: 0,\n \"class\": \"error-message-box__show-more-container\"\n};\nvar _hoisted_64 = {\n key: 0\n};\nvar _hoisted_65 = {\n key: 2,\n \"class\": \"fileTypes\"\n};\nvar _hoisted_66 = {\n key: 0,\n \"class\": \"checkboxes mui-form--inline\"\n};\nvar _hoisted_67 = {\n style: {\n \"background-color\": \"#000000\",\n \"color\": \"#ffffff\"\n }\n};\nvar _hoisted_68 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"All: \", -1 /* HOISTED */);\nvar _hoisted_69 = [\"id\", \"value\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_font_awesome_icon = (0,vue__WEBPACK_IMPORTED_MODULE_6__.resolveComponent)(\"font-awesome-icon\");\n var _component_c_summary_charts = (0,vue__WEBPACK_IMPORTED_MODULE_6__.resolveComponent)(\"c-summary-charts\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_1, [!_ctx.isWidgetMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"form\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n type: \"text\",\n onChange: _cache[0] || (_cache[0] =\n //@ts-ignore\n function () {\n return _ctx.updateFilterSearch && _ctx.updateFilterSearch.apply(_ctx, arguments);\n }),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = function ($event) {\n return _ctx.filterSearch = $event;\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelText, _ctx.filterSearch]]), _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"button\", {\n \"class\": \"mui-btn mui-btn--raised\",\n type: \"button\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_6__.withModifiers)(\n //@ts-ignore\n function () {\n return _ctx.resetFilterSearch && _ctx.resetFilterSearch.apply(_ctx, arguments);\n }, [\"prevent\"]))\n }, \"x\")]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = function ($event) {\n return _ctx.filterGroupSelection = $event;\n })\n }, [].concat(_hoisted_10), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.filterGroupSelection]]), _hoisted_11]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = function ($event) {\n return _ctx.sortGroupSelection = $event;\n }),\n onChange: _cache[5] || (_cache[5] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, [].concat(_hoisted_19), 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.sortGroupSelection]]), _hoisted_20]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_21, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = function ($event) {\n return _ctx.sortWithinGroupSelection = $event;\n }),\n disabled: _ctx.filterGroupSelection === 'groupByNone' || _ctx.allGroupsMerged,\n onChange: _cache[7] || (_cache[7] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, [].concat(_hoisted_29), 40 /* PROPS, NEED_HYDRATION */, _hoisted_22), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.sortWithinGroupSelection]]), _hoisted_30]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_31, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = function ($event) {\n return _ctx.filterTimeFrame = $event;\n }),\n onChange: _cache[9] || (_cache[9] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, [].concat(_hoisted_35), 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.filterTimeFrame]]), _hoisted_36]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_37, [_ctx.isSafariBrowser ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 0,\n type: \"text\",\n placeholder: \"yyyy-mm-dd\",\n value: _ctx.filterSinceDate,\n onKeyup: _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_6__.withKeys)(\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterSinceDate && _ctx.updateTmpFilterSinceDate.apply(_ctx, arguments);\n }, [\"enter\"])),\n onkeydown: \"formatInputDateOnKeyDown(event)\",\n oninput: \"appendDashInputDate(event)\",\n maxlength: \"10\"\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_38)) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 1,\n type: \"date\",\n name: \"since\",\n value: _ctx.filterSinceDate,\n onInput: _cache[11] || (_cache[11] =\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterSinceDate && _ctx.updateTmpFilterSinceDate.apply(_ctx, arguments);\n }),\n min: _ctx.minDate,\n max: _ctx.filterUntilDate\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_39)), _hoisted_40]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_41, [_ctx.isSafariBrowser ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 0,\n type: \"text\",\n placeholder: \"yyyy-mm-dd\",\n value: _ctx.filterUntilDate,\n onKeyup: _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_6__.withKeys)(\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterUntilDate && _ctx.updateTmpFilterUntilDate.apply(_ctx, arguments);\n }, [\"enter\"])),\n onkeydown: \"formatInputDateOnKeyDown(event)\",\n oninput: \"appendDashInputDate(event)\",\n maxlength: \"10\"\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_42)) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 1,\n type: \"date\",\n name: \"until\",\n value: _ctx.filterUntilDate,\n onInput: _cache[13] || (_cache[13] =\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterUntilDate && _ctx.updateTmpFilterUntilDate.apply(_ctx, arguments);\n }),\n min: _ctx.filterSinceDate,\n max: _ctx.maxDate\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_43)), _hoisted_44]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_45, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"a\", {\n onClick: _cache[14] || (_cache[14] =\n //@ts-ignore\n function () {\n return _ctx.resetDateRange && _ctx.resetDateRange.apply(_ctx, arguments);\n })\n }, \"Reset date range\")]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_46, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", _hoisted_47, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = function ($event) {\n return _ctx.filterBreakdown = $event;\n }),\n onChange: _cache[16] || (_cache[16] =\n //@ts-ignore\n function () {\n return _ctx.toggleBreakdown && _ctx.toggleBreakdown.apply(_ctx, arguments);\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelCheckbox, _ctx.filterBreakdown]]), _hoisted_48]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", {\n \"class\": \"merge-group\",\n style: (0,vue__WEBPACK_IMPORTED_MODULE_6__.normalizeStyle)(_ctx.filterGroupSelection === 'groupByNone' ? {\n opacity: 0.5\n } : {\n opacity: 1.0\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = function ($event) {\n return _ctx.allGroupsMerged = $event;\n }),\n disabled: _ctx.filterGroupSelection === 'groupByNone'\n }, null, 8 /* PROPS */, _hoisted_49), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelCheckbox, _ctx.allGroupsMerged]]), _hoisted_50], 4 /* STYLE */)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), Object.entries(_ctx.errorMessages).length && !_ctx.isWidgetMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_51, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", {\n \"class\": \"error-message-box__close-button\",\n onClick: _cache[18] || (_cache[18] = function ($event) {\n return _ctx.dismissTab($event);\n })\n }, \"×\"), _hoisted_52, ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_6__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_6__.renderList)(_ctx.errorIsShowingMore ? _ctx.errorMessages : Object.values(_ctx.errorMessages).slice(0, _ctx.numberOfErrorMessagesToShow), function (errorBlock) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_53, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createVNode)(_component_font_awesome_icon, {\n icon: \"exclamation\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", _hoisted_54, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(errorBlock.repoName), 1 /* TEXT */), errorBlock.errorMessage.startsWith('Unexpected error stack trace') ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_55, [_hoisted_56, (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"a\", {\n href: _ctx.getReportIssueGitHubLink(errorBlock.errorMessage),\n target: \"_blank\"\n }, [].concat(_hoisted_59), 8 /* PROPS */, _hoisted_57), _hoisted_60, (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"a\", {\n href: _ctx.getReportIssueEmailLink(errorBlock.errorMessage)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(_ctx.getReportIssueEmailAddress()), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_61)])) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_62, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(errorBlock.errorMessage) + \"\\\\\", 1 /* TEXT */))]);\n }), 256 /* UNKEYED_FRAGMENT */)), Object.keys(_ctx.errorMessages).length > _ctx.numberOfErrorMessagesToShow ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_63, [!_ctx.errorIsShowingMore ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"span\", _hoisted_64, \"Remaining error messages omitted to save space. \")) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), !_ctx.errorIsShowingMore ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"a\", {\n key: 1,\n onClick: _cache[19] || (_cache[19] = function ($event) {\n return _ctx.toggleErrorShowMore();\n })\n }, \"SHOW ALL...\")) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"a\", {\n key: 2,\n onClick: _cache[20] || (_cache[20] = function ($event) {\n return _ctx.toggleErrorShowMore();\n })\n }, \"SHOW LESS...\"))])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), _ctx.filterBreakdown && !_ctx.isWidgetMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_65, [Object.keys(_ctx.fileTypeColors).length > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_66, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", _hoisted_67, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n id: \"all\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = function ($event) {\n return _ctx.checkAllFileTypes = $event;\n })\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelCheckbox, _ctx.checkAllFileTypes]]), _hoisted_68]), ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_6__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_6__.renderList)(Object.keys(_ctx.fileTypeColors), function (fileType) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"label\", {\n key: fileType,\n style: (0,vue__WEBPACK_IMPORTED_MODULE_6__.normalizeStyle)({\n 'background-color': _ctx.fileTypeColors[fileType],\n 'color': _ctx.getFontColor(_ctx.fileTypeColors[fileType])\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n id: fileType,\n value: fileType,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = function ($event) {\n return _ctx.checkedFileTypes = $event;\n }),\n onChange: _cache[23] || (_cache[23] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_69), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelCheckbox, _ctx.checkedFileTypes]]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(fileType), 1 /* TEXT */)], 4 /* STYLE */);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createVNode)(_component_c_summary_charts, {\n filtered: _ctx.filtered,\n \"checked-file-types\": _ctx.checkedFileTypes,\n \"avg-contribution-size\": _ctx.avgContributionSize,\n \"filter-group-selection\": _ctx.filterGroupSelection,\n \"filter-breakdown\": _ctx.filterBreakdown,\n \"filter-time-frame\": _ctx.filterTimeFrame,\n \"filter-since-date\": _ctx.filterSinceDate,\n \"filter-until-date\": _ctx.filterUntilDate,\n \"filter-search\": _ctx.filterSearch,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n \"sort-group-selection\": _ctx.sortGroupSelection,\n \"chart-group-index\": _ctx.chartGroupIndex,\n \"chart-index\": _ctx.chartIndex\n }, null, 8 /* PROPS */, [\"filtered\", \"checked-file-types\", \"avg-contribution-size\", \"filter-group-selection\", \"filter-breakdown\", \"filter-time-frame\", \"filter-since-date\", \"filter-until-date\", \"filter-search\", \"min-date\", \"max-date\", \"sort-group-selection\", \"chart-group-index\", \"chart-index\"])]);\n}\n\n//# sourceURL=webpack://reposense/./src/views/c-summary.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");\n/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"./node_modules/core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\n\n\n\n\nvar _hoisted_1 = {\n id: \"summary\"\n};\nvar _hoisted_2 = {\n key: 0,\n \"class\": \"summary-picker mui-form--inline\",\n onsubmit: \"return false;\"\n};\nvar _hoisted_3 = {\n \"class\": \"summary-picker__section\"\n};\nvar _hoisted_4 = {\n \"class\": \"mui-textfield search_box\"\n};\nvar _hoisted_5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"search\", -1 /* HOISTED */);\nvar _hoisted_6 = {\n \"class\": \"mui-select grouping\"\n};\nvar _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"groupByNone\"\n}, \"None\", -1 /* HOISTED */);\nvar _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"groupByRepos\"\n}, \"Repo/Branch\", -1 /* HOISTED */);\nvar _hoisted_9 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"groupByAuthors\"\n}, \"Author\", -1 /* HOISTED */);\nvar _hoisted_10 = [_hoisted_7, _hoisted_8, _hoisted_9];\nvar _hoisted_11 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"group by\", -1 /* HOISTED */);\nvar _hoisted_12 = {\n \"class\": \"mui-select sort-group\"\n};\nvar _hoisted_13 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createStaticVNode)(\"\", 6);\nvar _hoisted_19 = [_hoisted_13];\nvar _hoisted_20 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"sort groups by\", -1 /* HOISTED */);\nvar _hoisted_21 = {\n \"class\": \"mui-select sort-within-group\"\n};\nvar _hoisted_22 = [\"disabled\"];\nvar _hoisted_23 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createStaticVNode)(\"\", 6);\nvar _hoisted_29 = [_hoisted_23];\nvar _hoisted_30 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"sort within groups by\", -1 /* HOISTED */);\nvar _hoisted_31 = {\n \"class\": \"mui-select granularity\"\n};\nvar _hoisted_32 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"commit\"\n}, \"Commit\", -1 /* HOISTED */);\nvar _hoisted_33 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"day\"\n}, \"Day\", -1 /* HOISTED */);\nvar _hoisted_34 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"option\", {\n value: \"week\"\n}, \"Week\", -1 /* HOISTED */);\nvar _hoisted_35 = [_hoisted_32, _hoisted_33, _hoisted_34];\nvar _hoisted_36 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"granularity\", -1 /* HOISTED */);\nvar _hoisted_37 = {\n \"class\": \"mui-textfield\"\n};\nvar _hoisted_38 = [\"value\"];\nvar _hoisted_39 = [\"value\", \"min\", \"max\"];\nvar _hoisted_40 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"since\", -1 /* HOISTED */);\nvar _hoisted_41 = {\n \"class\": \"mui-textfield\"\n};\nvar _hoisted_42 = [\"value\"];\nvar _hoisted_43 = [\"value\", \"min\", \"max\"];\nvar _hoisted_44 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", null, \"until\", -1 /* HOISTED */);\nvar _hoisted_45 = {\n \"class\": \"mui-textfield\"\n};\nvar _hoisted_46 = {\n \"class\": \"summary-picker__checkboxes summary-picker__section\"\n};\nvar _hoisted_47 = {\n \"class\": \"filter-breakdown\"\n};\nvar _hoisted_48 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"breakdown by file type\", -1 /* HOISTED */);\nvar _hoisted_49 = [\"disabled\"];\nvar _hoisted_50 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"merge all groups\", -1 /* HOISTED */);\nvar _hoisted_51 = {\n key: 1,\n \"class\": \"error-message-box\"\n};\nvar _hoisted_52 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", {\n \"class\": \"error-message-box__message\"\n}, \"The following issues occurred when analyzing the following repositories:\", -1 /* HOISTED */);\nvar _hoisted_53 = {\n \"class\": \"error-message-box__failed-repo\"\n};\nvar _hoisted_54 = {\n \"class\": \"error-message-box__failed-repo--name\"\n};\nvar _hoisted_55 = {\n key: 0,\n \"class\": \"error-message-box__failed-repo--reason\"\n};\nvar _hoisted_56 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"Oops, an unexpected error occurred. If this is due to a problem in RepoSense, please report in \", -1 /* HOISTED */);\nvar _hoisted_57 = [\"href\"];\nvar _hoisted_58 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"strong\", null, \"our issue tracker \", -1 /* HOISTED */);\nvar _hoisted_59 = [_hoisted_58];\nvar _hoisted_60 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, \"or email us at \", -1 /* HOISTED */);\nvar _hoisted_61 = [\"href\"];\nvar _hoisted_62 = {\n key: 1,\n \"class\": \"error-message-box__failed-repo--reason\"\n};\nvar _hoisted_63 = {\n key: 0,\n \"class\": \"error-message-box__show-more-container\"\n};\nvar _hoisted_64 = {\n key: 0\n};\nvar _hoisted_65 = {\n key: 2,\n \"class\": \"fileTypes\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_font_awesome_icon = (0,vue__WEBPACK_IMPORTED_MODULE_6__.resolveComponent)(\"font-awesome-icon\");\n var _component_c_file_type_checkboxes = (0,vue__WEBPACK_IMPORTED_MODULE_6__.resolveComponent)(\"c-file-type-checkboxes\");\n var _component_c_summary_charts = (0,vue__WEBPACK_IMPORTED_MODULE_6__.resolveComponent)(\"c-summary-charts\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_1, [!_ctx.isWidgetMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"form\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n type: \"text\",\n onChange: _cache[0] || (_cache[0] =\n //@ts-ignore\n function () {\n return _ctx.updateFilterSearch && _ctx.updateFilterSearch.apply(_ctx, arguments);\n }),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = function ($event) {\n return _ctx.filterSearch = $event;\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelText, _ctx.filterSearch]]), _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"button\", {\n \"class\": \"mui-btn mui-btn--raised\",\n type: \"button\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_6__.withModifiers)(\n //@ts-ignore\n function () {\n return _ctx.resetFilterSearch && _ctx.resetFilterSearch.apply(_ctx, arguments);\n }, [\"prevent\"]))\n }, \"x\")]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = function ($event) {\n return _ctx.filterGroupSelection = $event;\n })\n }, [].concat(_hoisted_10), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.filterGroupSelection]]), _hoisted_11]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = function ($event) {\n return _ctx.sortGroupSelection = $event;\n }),\n onChange: _cache[5] || (_cache[5] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, [].concat(_hoisted_19), 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.sortGroupSelection]]), _hoisted_20]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_21, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = function ($event) {\n return _ctx.sortWithinGroupSelection = $event;\n }),\n disabled: _ctx.filterGroupSelection === 'groupByNone' || _ctx.allGroupsMerged,\n onChange: _cache[7] || (_cache[7] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, [].concat(_hoisted_29), 40 /* PROPS, NEED_HYDRATION */, _hoisted_22), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.sortWithinGroupSelection]]), _hoisted_30]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_31, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = function ($event) {\n return _ctx.filterTimeFrame = $event;\n }),\n onChange: _cache[9] || (_cache[9] =\n //@ts-ignore\n function () {\n return _ctx.getFiltered && _ctx.getFiltered.apply(_ctx, arguments);\n })\n }, [].concat(_hoisted_35), 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelSelect, _ctx.filterTimeFrame]]), _hoisted_36]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_37, [_ctx.isSafariBrowser ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 0,\n type: \"text\",\n placeholder: \"yyyy-mm-dd\",\n value: _ctx.filterSinceDate,\n onKeyup: _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_6__.withKeys)(\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterSinceDate && _ctx.updateTmpFilterSinceDate.apply(_ctx, arguments);\n }, [\"enter\"])),\n onkeydown: \"formatInputDateOnKeyDown(event)\",\n oninput: \"appendDashInputDate(event)\",\n maxlength: \"10\"\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_38)) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 1,\n type: \"date\",\n name: \"since\",\n value: _ctx.filterSinceDate,\n onInput: _cache[11] || (_cache[11] =\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterSinceDate && _ctx.updateTmpFilterSinceDate.apply(_ctx, arguments);\n }),\n min: _ctx.minDate,\n max: _ctx.filterUntilDate\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_39)), _hoisted_40]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_41, [_ctx.isSafariBrowser ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 0,\n type: \"text\",\n placeholder: \"yyyy-mm-dd\",\n value: _ctx.filterUntilDate,\n onKeyup: _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_6__.withKeys)(\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterUntilDate && _ctx.updateTmpFilterUntilDate.apply(_ctx, arguments);\n }, [\"enter\"])),\n onkeydown: \"formatInputDateOnKeyDown(event)\",\n oninput: \"appendDashInputDate(event)\",\n maxlength: \"10\"\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_42)) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"input\", {\n key: 1,\n type: \"date\",\n name: \"until\",\n value: _ctx.filterUntilDate,\n onInput: _cache[13] || (_cache[13] =\n //@ts-ignore\n function () {\n return _ctx.updateTmpFilterUntilDate && _ctx.updateTmpFilterUntilDate.apply(_ctx, arguments);\n }),\n min: _ctx.filterSinceDate,\n max: _ctx.maxDate\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_43)), _hoisted_44]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_45, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"a\", {\n onClick: _cache[14] || (_cache[14] =\n //@ts-ignore\n function () {\n return _ctx.resetDateRange && _ctx.resetDateRange.apply(_ctx, arguments);\n })\n }, \"Reset date range\")]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", _hoisted_46, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", _hoisted_47, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = function ($event) {\n return _ctx.filterBreakdown = $event;\n }),\n onChange: _cache[16] || (_cache[16] =\n //@ts-ignore\n function () {\n return _ctx.toggleBreakdown && _ctx.toggleBreakdown.apply(_ctx, arguments);\n })\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelCheckbox, _ctx.filterBreakdown]]), _hoisted_48]), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"label\", {\n \"class\": \"merge-group\",\n style: (0,vue__WEBPACK_IMPORTED_MODULE_6__.normalizeStyle)(_ctx.filterGroupSelection === 'groupByNone' ? {\n opacity: 0.5\n } : {\n opacity: 1.0\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = function ($event) {\n return _ctx.allGroupsMerged = $event;\n }),\n disabled: _ctx.filterGroupSelection === 'groupByNone'\n }, null, 8 /* PROPS */, _hoisted_49), [[vue__WEBPACK_IMPORTED_MODULE_6__.vModelCheckbox, _ctx.allGroupsMerged]]), _hoisted_50], 4 /* STYLE */)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), Object.entries(_ctx.errorMessages).length && !_ctx.isWidgetMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_51, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"div\", {\n \"class\": \"error-message-box__close-button\",\n onClick: _cache[18] || (_cache[18] = function ($event) {\n return _ctx.dismissTab($event);\n })\n }, \"×\"), _hoisted_52, ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_6__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_6__.renderList)(_ctx.errorIsShowingMore ? _ctx.errorMessages : Object.values(_ctx.errorMessages).slice(0, _ctx.numberOfErrorMessagesToShow), function (errorBlock) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_53, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createVNode)(_component_font_awesome_icon, {\n icon: \"exclamation\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", _hoisted_54, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(errorBlock.repoName), 1 /* TEXT */), errorBlock.errorMessage.startsWith('Unexpected error stack trace') ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_55, [_hoisted_56, (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"a\", {\n href: _ctx.getReportIssueGitHubLink(errorBlock.errorMessage),\n target: \"_blank\"\n }, [].concat(_hoisted_59), 8 /* PROPS */, _hoisted_57), _hoisted_60, (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"a\", {\n href: _ctx.getReportIssueEmailLink(errorBlock.errorMessage)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(_ctx.getReportIssueEmailAddress()), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_61)])) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_62, (0,vue__WEBPACK_IMPORTED_MODULE_6__.toDisplayString)(errorBlock.errorMessage) + \"\\\\\", 1 /* TEXT */))]);\n }), 256 /* UNKEYED_FRAGMENT */)), Object.keys(_ctx.errorMessages).length > _ctx.numberOfErrorMessagesToShow ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_63, [!_ctx.errorIsShowingMore ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"span\", _hoisted_64, \"Remaining error messages omitted to save space. \")) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), !_ctx.errorIsShowingMore ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"a\", {\n key: 1,\n onClick: _cache[19] || (_cache[19] = function ($event) {\n return _ctx.toggleErrorShowMore();\n })\n }, \"SHOW ALL...\")) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"a\", {\n key: 2,\n onClick: _cache[20] || (_cache[20] = function ($event) {\n return _ctx.toggleErrorShowMore();\n })\n }, \"SHOW LESS...\"))])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), _ctx.filterBreakdown && !_ctx.isWidgetMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createElementBlock)(\"div\", _hoisted_65, [(0,vue__WEBPACK_IMPORTED_MODULE_6__.createVNode)(_component_c_file_type_checkboxes, {\n \"file-types\": _ctx.fileTypes,\n \"file-type-colors\": _ctx.fileTypeColors,\n \"selected-file-types\": _ctx.checkedFileTypes,\n \"onUpdate:selectedFileTypes\": [_cache[21] || (_cache[21] = function ($event) {\n return _ctx.checkedFileTypes = $event;\n }), _ctx.getFiltered]\n }, null, 8 /* PROPS */, [\"file-types\", \"file-type-colors\", \"selected-file-types\", \"onUpdate:selectedFileTypes\"])])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__.createVNode)(_component_c_summary_charts, {\n filtered: _ctx.filtered,\n \"checked-file-types\": _ctx.checkedFileTypes,\n \"avg-contribution-size\": _ctx.avgContributionSize,\n \"filter-group-selection\": _ctx.filterGroupSelection,\n \"filter-breakdown\": _ctx.filterBreakdown,\n \"filter-time-frame\": _ctx.filterTimeFrame,\n \"filter-since-date\": _ctx.filterSinceDate,\n \"filter-until-date\": _ctx.filterUntilDate,\n \"filter-search\": _ctx.filterSearch,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n \"sort-group-selection\": _ctx.sortGroupSelection,\n \"chart-group-index\": _ctx.chartGroupIndex,\n \"chart-index\": _ctx.chartIndex\n }, null, 8 /* PROPS */, [\"filtered\", \"checked-file-types\", \"avg-contribution-size\", \"filter-group-selection\", \"filter-breakdown\", \"filter-time-frame\", \"filter-since-date\", \"filter-until-date\", \"filter-search\", \"min-date\", \"max-date\", \"sort-group-selection\", \"chart-group-index\", \"chart-index\"])]);\n}\n\n//# sourceURL=webpack://reposense/./src/views/c-summary.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -313,7 +335,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\nvar _withScopeId = function _withScopeId(n) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.pushScopeId)(\"data-v-639b7b17\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.popScopeId)(), n;\n};\nvar _hoisted_1 = {\n key: 0,\n id: \"zoom\"\n};\nvar _hoisted_2 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n \"class\": \"panel-title\"\n }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"Commits Panel\")], -1 /* HOISTED */);\n});\nvar _hoisted_3 = {\n key: 0,\n \"class\": \"toolbar--multiline\"\n};\nvar _hoisted_4 = {\n \"class\": \"panel-heading\"\n};\nvar _hoisted_5 = {\n \"class\": \"group-name\"\n};\nvar _hoisted_6 = {\n key: 0\n};\nvar _hoisted_7 = [\"href\"];\nvar _hoisted_8 = {\n key: 0,\n \"class\": \"author\"\n};\nvar _hoisted_9 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\n});\nvar _hoisted_10 = {\n key: 0\n};\nvar _hoisted_11 = {\n key: 1\n};\nvar _hoisted_12 = {\n \"class\": \"period\"\n};\nvar _hoisted_13 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\n});\nvar _hoisted_14 = {\n \"class\": \"zoom__title\"\n};\nvar _hoisted_15 = {\n \"class\": \"zoom__title--granularity\"\n};\nvar _hoisted_16 = {\n \"class\": \"zoom__title--tags\"\n};\nvar _hoisted_17 = [\"onClick\"];\nvar _hoisted_18 = {\n \"class\": \"sorting mui-form--inline\"\n};\nvar _hoisted_19 = {\n \"class\": \"mui-select sort-by\"\n};\nvar _hoisted_20 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"time\"\n }, \"Time\", -1 /* HOISTED */);\n});\nvar _hoisted_21 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"linesOfCode\"\n }, \"LoC\", -1 /* HOISTED */);\n});\nvar _hoisted_22 = [_hoisted_20, _hoisted_21];\nvar _hoisted_23 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", null, \"sort by\", -1 /* HOISTED */);\n});\nvar _hoisted_24 = {\n \"class\": \"mui-select sort-order\"\n};\nvar _hoisted_25 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: true\n }, \"Descending\", -1 /* HOISTED */);\n});\nvar _hoisted_26 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: false\n }, \"Ascending\", -1 /* HOISTED */);\n});\nvar _hoisted_27 = [_hoisted_25, _hoisted_26];\nvar _hoisted_28 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", null, \"order\", -1 /* HOISTED */);\n});\nvar _hoisted_29 = {\n \"class\": \"fileTypes\"\n};\nvar _hoisted_30 = {\n key: 0,\n \"class\": \"checkboxes mui-form--inline\"\n};\nvar _hoisted_31 = {\n style: {\n \"background-color\": \"#000000\",\n \"color\": \"#ffffff\"\n }\n};\nvar _hoisted_32 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"All \", -1 /* HOISTED */);\n});\nvar _hoisted_33 = [\"value\"];\nvar _hoisted_34 = {\n key: 0\n};\nvar _hoisted_35 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_font_awesome_icon = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"font-awesome-icon\");\n var _component_c_ramp = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"c-ramp\");\n var _component_c_zoom_commit_message = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"c-zoom-commit-message\");\n return _ctx.filteredUser ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_1, [_hoisted_2, _ctx.filteredUser.commits.length && _ctx.totalCommitMessageBodyCount ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_3, [_ctx.expandedCommitMessagesCount < _ctx.totalCommitMessageBodyCount ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = function ($event) {\n _ctx.toggleAllCommitMessagesBody(true);\n _ctx.toggleDiffstatView(true);\n })\n }, \"show all commit details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), _ctx.expandedCommitMessagesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 1,\n onClick: _cache[1] || (_cache[1] = function ($event) {\n _ctx.toggleAllCommitMessagesBody(false);\n _ctx.toggleDiffstatView(false);\n })\n }, \"hide all commit details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_5, [_ctx.info.zFilterGroup === 'groupByAuthors' ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.displayName) + \" (\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.name) + \")\", 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 1,\n href: _ctx.info.zLocation,\n target: \"_blank\",\n title: 'Click to open the repo'\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.repoName), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_7))]), !_ctx.info.zIsMerged ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_8, [_hoisted_9, _ctx.info.zFilterGroup === 'groupByAuthors' ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.repoName), 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.displayName) + \" (\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.name) + \")\", 1 /* TEXT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_12, [_hoisted_13, (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.zSince) + \" to \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.zUntil) + \"  \", 1 /* TEXT */)])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_15, \"granularity: one ramp per \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.zTimeFrame), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_16, [((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.filteredUser.commits, function (commit) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(commit.commitResults, function (commitResult) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [commitResult.tags ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(commitResult.tags, function (tag) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", {\n \"class\": \"tag\",\n \"vbind:key\": \"tag\",\n onClick: function onClick($event) {\n return _ctx.scrollToCommit(tag, \"tag \".concat(commitResult.hash));\n }\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_font_awesome_icon, {\n icon: \"tags\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \" \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(tag), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_17);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)], 64 /* STABLE_FRAGMENT */);\n }), 256 /* UNKEYED_FRAGMENT */))], 64 /* STABLE_FRAGMENT */);\n }), 256 /* UNKEYED_FRAGMENT */))])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_c_ramp, {\n groupby: _ctx.info.zFilterGroup,\n user: _ctx.filteredUser,\n tframe: _ctx.info.zTimeFrame,\n sdate: _ctx.info.zSince,\n udate: _ctx.info.zUntil,\n avgsize: _ctx.info.zAvgCommitSize,\n mergegroup: _ctx.info.zIsMerge,\n fromramp: _ctx.info.zFromRamp,\n filtersearch: _ctx.info.zFilterSearch\n }, null, 8 /* PROPS */, [\"groupby\", \"user\", \"tframe\", \"sdate\", \"udate\", \"avgsize\", \"mergegroup\", \"fromramp\", \"filtersearch\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_18, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_19, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = function ($event) {\n return _ctx.commitsSortType = $event;\n })\n }, [].concat(_hoisted_22), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelSelect, _ctx.commitsSortType]]), _hoisted_23]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = function ($event) {\n return _ctx.toReverseSortedCommits = $event;\n })\n }, [].concat(_hoisted_27), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelSelect, _ctx.toReverseSortedCommits]]), _hoisted_28])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_29, [_ctx.fileTypes.length > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", _hoisted_31, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = function ($event) {\n return _ctx.isSelectAllChecked = $event;\n }),\n value: \"all\"\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelCheckbox, _ctx.isSelectAllChecked]]), _hoisted_32]), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.fileTypes, function (fileType) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"label\", {\n key: fileType,\n style: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeStyle)({\n 'background-color': _ctx.fileTypeColors[fileType],\n 'color': _ctx.getFontColor(_ctx.fileTypeColors[fileType])\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"input\", {\n \"class\": \"mui-checkbox--fileType\",\n type: \"checkbox\",\n value: fileType,\n onChange: _cache[5] || (_cache[5] =\n //@ts-ignore\n function () {\n return _ctx.updateSelectedFileTypesHash && _ctx.updateSelectedFileTypesHash.apply(_ctx, arguments);\n }),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = function ($event) {\n return _ctx.selectedFileTypes = $event;\n })\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_33), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelCheckbox, _ctx.selectedFileTypes]]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(fileType) + \"  \", 1 /* TEXT */)], 4 /* STYLE */);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)]), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.selectedCommits, function (day) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", {\n \"class\": \"zoom__day\",\n key: day.date\n }, [_ctx.info.zTimeFrame === 'week' ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"h3\", _hoisted_34, \"Week of \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(day.date), 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"h3\", _hoisted_35, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(day.date), 1 /* TEXT */)), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(day.commitResults, function (slice) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_c_zoom_commit_message, {\n key: slice.hash,\n slice: slice,\n \"selected-file-types\": _ctx.selectedFileTypes,\n \"file-type-colors\": _ctx.fileTypeColors,\n info: _ctx.info,\n \"show-diffstat\": _ctx.showDiffstat\n }, null, 8 /* PROPS */, [\"slice\", \"selected-file-types\", \"file-type-colors\", \"info\", \"show-diffstat\"]);\n }), 128 /* KEYED_FRAGMENT */))]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true);\n}\n\n//# sourceURL=webpack://reposense/./src/views/c-zoom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\nvar _withScopeId = function _withScopeId(n) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.pushScopeId)(\"data-v-639b7b17\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.popScopeId)(), n;\n};\nvar _hoisted_1 = {\n key: 0,\n id: \"zoom\"\n};\nvar _hoisted_2 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n \"class\": \"panel-title\"\n }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"Commits Panel\")], -1 /* HOISTED */);\n});\nvar _hoisted_3 = {\n key: 0,\n \"class\": \"toolbar--multiline\"\n};\nvar _hoisted_4 = {\n \"class\": \"panel-heading\"\n};\nvar _hoisted_5 = {\n \"class\": \"group-name\"\n};\nvar _hoisted_6 = {\n key: 0\n};\nvar _hoisted_7 = [\"href\"];\nvar _hoisted_8 = {\n key: 0,\n \"class\": \"author\"\n};\nvar _hoisted_9 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\n});\nvar _hoisted_10 = {\n key: 0\n};\nvar _hoisted_11 = {\n key: 1\n};\nvar _hoisted_12 = {\n \"class\": \"period\"\n};\nvar _hoisted_13 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \"↳  \", -1 /* HOISTED */);\n});\nvar _hoisted_14 = {\n \"class\": \"zoom__title\"\n};\nvar _hoisted_15 = {\n \"class\": \"zoom__title--granularity\"\n};\nvar _hoisted_16 = {\n \"class\": \"zoom__title--tags\"\n};\nvar _hoisted_17 = [\"onClick\"];\nvar _hoisted_18 = {\n \"class\": \"sorting mui-form--inline\"\n};\nvar _hoisted_19 = {\n \"class\": \"mui-select sort-by\"\n};\nvar _hoisted_20 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"time\"\n }, \"Time\", -1 /* HOISTED */);\n});\nvar _hoisted_21 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: \"linesOfCode\"\n }, \"LoC\", -1 /* HOISTED */);\n});\nvar _hoisted_22 = [_hoisted_20, _hoisted_21];\nvar _hoisted_23 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", null, \"sort by\", -1 /* HOISTED */);\n});\nvar _hoisted_24 = {\n \"class\": \"mui-select sort-order\"\n};\nvar _hoisted_25 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: true\n }, \"Descending\", -1 /* HOISTED */);\n});\nvar _hoisted_26 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"option\", {\n value: false\n }, \"Ascending\", -1 /* HOISTED */);\n});\nvar _hoisted_27 = [_hoisted_25, _hoisted_26];\nvar _hoisted_28 = /*#__PURE__*/_withScopeId(function () {\n return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"label\", null, \"order\", -1 /* HOISTED */);\n});\nvar _hoisted_29 = {\n \"class\": \"fileTypes\"\n};\nvar _hoisted_30 = {\n key: 0\n};\nvar _hoisted_31 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_font_awesome_icon = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"font-awesome-icon\");\n var _component_c_ramp = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"c-ramp\");\n var _component_c_file_type_checkboxes = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"c-file-type-checkboxes\");\n var _component_c_zoom_commit_message = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"c-zoom-commit-message\");\n return _ctx.filteredUser ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_1, [_hoisted_2, _ctx.filteredUser.commits.length && _ctx.totalCommitMessageBodyCount ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_3, [_ctx.expandedCommitMessagesCount < _ctx.totalCommitMessageBodyCount ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = function ($event) {\n _ctx.toggleAllCommitMessagesBody(true);\n _ctx.toggleDiffstatView(true);\n })\n }, \"show all commit details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), _ctx.expandedCommitMessagesCount > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 1,\n onClick: _cache[1] || (_cache[1] = function ($event) {\n _ctx.toggleAllCommitMessagesBody(false);\n _ctx.toggleDiffstatView(false);\n })\n }, \"hide all commit details\")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_5, [_ctx.info.zFilterGroup === 'groupByAuthors' ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.displayName) + \" (\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.name) + \")\", 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"a\", {\n key: 1,\n href: _ctx.info.zLocation,\n target: \"_blank\",\n title: 'Click to open the repo'\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.repoName), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_7))]), !_ctx.info.zIsMerged ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", _hoisted_8, [_hoisted_9, _ctx.info.zFilterGroup === 'groupByAuthors' ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.repoName), 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.displayName) + \" (\" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.filteredUser.name) + \")\", 1 /* TEXT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_12, [_hoisted_13, (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.zSince) + \" to \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.zUntil) + \"  \", 1 /* TEXT */)])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_15, \"granularity: one ramp per \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.info.zTimeFrame), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_16, [((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.filteredUser.commits, function (commit) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(commit.commitResults, function (commitResult) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [commitResult.tags ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(commitResult.tags, function (tag) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", {\n \"class\": \"tag\",\n \"vbind:key\": \"tag\",\n onClick: function onClick($event) {\n return _ctx.scrollToCommit(tag, \"tag \".concat(commitResult.hash));\n }\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_font_awesome_icon, {\n icon: \"tags\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"span\", null, \" \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(tag), 1 /* TEXT */)], 8 /* PROPS */, _hoisted_17);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)], 64 /* STABLE_FRAGMENT */);\n }), 256 /* UNKEYED_FRAGMENT */))], 64 /* STABLE_FRAGMENT */);\n }), 256 /* UNKEYED_FRAGMENT */))])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_c_ramp, {\n groupby: _ctx.info.zFilterGroup,\n user: _ctx.filteredUser,\n tframe: _ctx.info.zTimeFrame,\n sdate: _ctx.info.zSince,\n udate: _ctx.info.zUntil,\n avgsize: _ctx.info.zAvgCommitSize,\n mergegroup: _ctx.info.zIsMerge,\n fromramp: _ctx.info.zFromRamp,\n filtersearch: _ctx.info.zFilterSearch\n }, null, 8 /* PROPS */, [\"groupby\", \"user\", \"tframe\", \"sdate\", \"udate\", \"avgsize\", \"mergegroup\", \"fromramp\", \"filtersearch\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_18, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_19, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = function ($event) {\n return _ctx.commitsSortType = $event;\n })\n }, [].concat(_hoisted_22), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelSelect, _ctx.commitsSortType]]), _hoisted_23]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = function ($event) {\n return _ctx.toReverseSortedCommits = $event;\n })\n }, [].concat(_hoisted_27), 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_2__.vModelSelect, _ctx.toReverseSortedCommits]]), _hoisted_28])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_29, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_c_file_type_checkboxes, {\n \"file-types\": _ctx.fileTypes,\n \"file-type-colors\": _ctx.fileTypeColors,\n \"selected-file-types\": _ctx.selectedFileTypes,\n \"onUpdate:selectedFileTypes\": [_cache[4] || (_cache[4] = function ($event) {\n return _ctx.selectedFileTypes = $event;\n }), _ctx.updateSelectedFileTypesHash]\n }, null, 8 /* PROPS */, [\"file-types\", \"file-type-colors\", \"selected-file-types\", \"onUpdate:selectedFileTypes\"])]), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.selectedCommits, function (day) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"div\", {\n \"class\": \"zoom__day\",\n key: day.date\n }, [_ctx.info.zTimeFrame === 'week' ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"h3\", _hoisted_30, \"Week of \" + (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(day.date), 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"h3\", _hoisted_31, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(day.date), 1 /* TEXT */)), ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(day.commitResults, function (slice) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_c_zoom_commit_message, {\n key: slice.hash,\n slice: slice,\n \"selected-file-types\": _ctx.selectedFileTypes,\n \"file-type-colors\": _ctx.fileTypeColors,\n info: _ctx.info,\n \"show-diffstat\": _ctx.showDiffstat\n }, null, 8 /* PROPS */, [\"slice\", \"selected-file-types\", \"file-type-colors\", \"info\", \"show-diffstat\"]);\n }), 128 /* KEYED_FRAGMENT */))]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true);\n}\n\n//# sourceURL=webpack://reposense/./src/views/c-zoom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -526,6 +548,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true": +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".all-checkbox[data-v-1247c6e6] {\\n background-color: #000000;\\n color: #ffffff;\\n}\\n.mui-checkbox--fileType[data-v-1247c6e6] {\\n vertical-align: middle;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); + +/***/ }), + /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-ramp.vue?vue&type=style&index=0&id=0b6fff4c&scoped=true&lang=scss": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-ramp.vue?vue&type=style&index=0&id=0b6fff4c&scoped=true&lang=scss ***! @@ -647,6 +680,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./src/components/c-file-type-checkboxes.vue": +/*!***************************************************!*\ + !*** ./src/components/c-file-type-checkboxes.vue ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _c_file_type_checkboxes_vue_vue_type_template_id_1247c6e6_scoped_true_ts_true_lang_pug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug */ \"./src/components/c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug\");\n/* harmony import */ var _c_file_type_checkboxes_vue_vue_type_script_lang_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c-file-type-checkboxes.vue?vue&type=script&lang=ts */ \"./src/components/c-file-type-checkboxes.vue?vue&type=script&lang=ts\");\n/* harmony import */ var _c_file_type_checkboxes_vue_vue_type_style_index_0_id_1247c6e6_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true */ \"./src/components/c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true\");\n/* harmony import */ var _node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\n\n\nconst __exports__ = /*#__PURE__*/(0,_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_c_file_type_checkboxes_vue_vue_type_script_lang_ts__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_c_file_type_checkboxes_vue_vue_type_template_id_1247c6e6_scoped_true_ts_true_lang_pug__WEBPACK_IMPORTED_MODULE_0__.render],['__scopeId',\"data-v-1247c6e6\"],['__file',\"src/components/c-file-type-checkboxes.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?"); + +/***/ }), + /***/ "./src/components/c-ramp.vue": /*!***********************************!*\ !*** ./src/components/c-ramp.vue ***! @@ -801,6 +845,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./src/components/c-file-type-checkboxes.vue?vue&type=script&lang=ts": +/*!***************************************************************************!*\ + !*** ./src/components/c-file-type-checkboxes.vue?vue&type=script&lang=ts ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_clonedRuleSet_41_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_script_lang_ts__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_clonedRuleSet_41_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_script_lang_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./c-file-type-checkboxes.vue?vue&type=script&lang=ts */ \"./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=script&lang=ts\");\n \n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?"); + +/***/ }), + /***/ "./src/components/c-ramp.vue?vue&type=script&lang=ts": /*!***********************************************************!*\ !*** ./src/components/c-ramp.vue?vue&type=script&lang=ts ***! @@ -955,6 +1010,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./src/components/c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug": +/*!**************************************************************************************************************!*\ + !*** ./src/components/c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_clonedRuleSet_41_use_1_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_4_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_template_id_1247c6e6_scoped_true_ts_true_lang_pug__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_clonedRuleSet_41_use_1_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_4_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_template_id_1247c6e6_scoped_true_ts_true_lang_pug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!../../node_modules/pug-plain-loader/index.js!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug */ \"./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=template&id=1247c6e6&scoped=true&ts=true&lang=pug\");\n\n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?"); + +/***/ }), + /***/ "./src/components/c-ramp.vue?vue&type=template&id=0b6fff4c&scoped=true&ts=true&lang=pug": /*!**********************************************************************************************!*\ !*** ./src/components/c-ramp.vue?vue&type=template&id=0b6fff4c&scoped=true&ts=true&lang=pug ***! @@ -1109,6 +1175,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /***/ }), +/***/ "./src/components/c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true": +/*!************************************************************************************************************!*\ + !*** ./src/components/c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_style_index_0_id_1247c6e6_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true */ \"./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/c-file-type-checkboxes.vue?vue&type=style&index=0&id=1247c6e6&lang=scss&scoped=true\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_style_index_0_id_1247c6e6_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_style_index_0_id_1247c6e6_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_style_index_0_id_1247c6e6_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_c_file_type_checkboxes_vue_vue_type_style_index_0_id_1247c6e6_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://reposense/./src/components/c-file-type-checkboxes.vue?"); + +/***/ }), + /***/ "./src/components/c-ramp.vue?vue&type=style&index=0&id=0b6fff4c&scoped=true&lang=scss": /*!********************************************************************************************!*\ !*** ./src/components/c-ramp.vue?vue&type=style&index=0&id=0b6fff4c&scoped=true&lang=scss ***! @@ -1217,6 +1294,16 @@ eval("// style-loader: Adds some css to the DOM by adding a