@lighthouse/common 4.30.2 → 4.31.1-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helpers/get-audit-items-data/index.js +1 -0
- package/dist/images/index.js +3 -1
- package/dist/pdf/audit/index.js +28 -13
- package/dist/pdf/helpers/build-audit-content/index.js +13 -4
- package/dist/pdf/helpers/build-audit-follow-ups/index.js +138 -0
- package/dist/pdf/helpers/index.js +26 -12
- package/dist/pdf/helpers/table/index.js +8 -0
- package/lib/helpers/get-audit-items-data/index.js +1 -0
- package/lib/helpers/get-audit-items-data/index.js.map +1 -1
- package/lib/images/index.js +1 -0
- package/lib/images/index.js.map +1 -1
- package/lib/pdf/audit/index.js +31 -12
- package/lib/pdf/audit/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-content/index.js +11 -4
- package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-follow-ups/index.js +136 -0
- package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -0
- package/lib/pdf/helpers/index.js +2 -1
- package/lib/pdf/helpers/index.js.map +1 -1
- package/lib/pdf/helpers/table/index.js +6 -0
- package/lib/pdf/helpers/table/index.js.map +1 -1
- package/mise.toml +3 -0
- package/package.json +1 -1
- package/.vscode/settings.json +0 -3
package/dist/images/index.js
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.videoIcon = exports.imageNotFound = exports.launchIcon = void 0;
|
|
6
|
+
exports.videoIcon = exports.imageNotFound = exports.internalLinkIcon = exports.launchIcon = void 0;
|
|
7
7
|
const launchIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABGdBTUEAALGPC/xhBQAAAsdJREFUWAntmE1oE0EUx9/bbiQxmIAIFhXsQUQQ2oLeDJjqwYsHPYi1aBWEnq0IXnNUL8WDFy8GrTQqePEsVZKDF5FaDyIIVkSPpYV8mG1mnNdl003Z7MfMbLYHB8JMZub93483O7NvByHGkjt3c69Vry9yzkfl3aCFyOcMeYFgS9ZqjqlBkg+e4hxnzWB38jPuTBx9f//t19sIMBZFhTMocuCHt2x4SmjsrJIuTF4DDmURyZ7V7vmTNHK6MDW9BYkMAVccpiGnkXRtR5KX7UgiA4QbhgEG5zBObDsior3LbUO2apVn7uBtbqZc8eoRxqyUeyBKO5fPr/x+87gRxcaZGwaS5pqZwuTrtmVddAxl6tXVtbVMYXq0WXv6M4p9WEjSFM8AvxBF3GuueI7ywDsHvMb69UWBJA1a+s0jChE/AuLLfsJ+/QbgUr36/IPfHPdYVEiy7R74iPClUV144BaMoy0DSRwD3fWykAMFVYEcGKgq5EBAdUDGDqoLMlZQHZAcYIkgxdH5OZZdvz0LogRj+7ubAILK3bPHHprm0JlUNjvRPUeDjMKO25FkT9xZkAwk+SuVSkxUi9TWGlEdy01QXkUbqK7l9oKkPi2gNqSe5Y4NVBUyW5wa31O8sq8foNOvFFFVyN2Fy+c7VufTxgZbPjEz45u4S4OqQtqRwpNUi3x2+Pu39YNO9LxqKVA9kF44/fsigyYBSfiRQJOCjASaJGRo0KQhQ4HqfHeTQ9ni+4weujSbEWfHIx0JhiygY+cL+uvVXFPkgssiI1wHA6/LZkGOM5XaF5SEm7XKqeFUen+rujCv4kjVNhCUHPx4V26pOlK1DwWq6kSH/X9QHVF0a3S/mRiD0+IK8oV7MO62+CA6HtYHgbbFb5c4K0dEujUS1lD3vHbH/OunaYpr8nsM+C0B6pu4+okojaG4CgeoNKrzf/x0/gGoGnZzJLiv/wAAAABJRU5ErkJggg==';
|
|
8
8
|
exports.launchIcon = launchIcon;
|
|
9
|
+
const internalLinkIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAABO0lEQVR4nO3XPUoDURSG4RdtLcZZgGkFa38qUxmyBTeQTqwFG1vBTdhYRyvRFShWugmnExQRBWXAyOGSycxN7s2cG88Lp0ggkIevGAYsy7IWqQ5wAdzMeJfACbDWFuQc+A54b8B+G5DjwJDyvoDteUOWgD4wmPGOgEJgrkm4noB8Aisk2jLwITAbJFwhIJskXGEQZdki2rJFtGWLaMsW0ZYtoi1bJFarwC3wCGxFXiQHhsAT0CVwA/GHXoCdSJAceBC/uSJw68D7FBgfSO4gyjsg0ju4xLwCu4EgGXDnIM6ImC+mCSSbN2IaTB0kawvhi5kEKRH3bSJ8MFUQNYimmHEQdYgmGBeiFlGHkZA97YhR/TEPTfn52UGcojh3mapTuYQvJglEHSYpRBUmScSo7u+7xeHfN5ZlWf+yHw9ZHGBm/MZGAAAAAElFTkSuQmCC';
|
|
10
|
+
exports.internalLinkIcon = internalLinkIcon;
|
|
9
11
|
const imageNotFound = 'data:image/png;base64,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';
|
|
10
12
|
exports.imageNotFound = imageNotFound;
|
|
11
13
|
const videoIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbgAAAG4CAYAAAA3yvKzAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABuKADAAQAAAABAAABuAAAAAAiM3ZtAAAsA0lEQVR4Ae3d928cxxnG8WEXKVK0ZEvpiVOc3htSEQcpyA8BkgD5Kw0YMJCCIEESA0mQ3pHee2JZpChSpNijZ+2hlsu9273bNjPvdwGKvLu9vZnPu7fPzZbTzP7+/qljQgABBBBAIDGB2cT6Q3cQQAABBBDIBAg4VgQEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBOYhmE7g5s2b0z2RZyGAAAITCly/fn3CZzC7BBjBsR4ggAACCCQpQMAlWVY6hQACCCBAwLEOIIAAAggkKUDAJVlWOoUAAgggQMCxDiCAAAIIJClAwCVZVjqFAAIIIEDAsQ4ggAACCCQpQMAlWVY6hQACCCBAwLEOIIAAAggkKUDAJVlWOoUAAgggwFd1DbQOzMzMuNnZWaffoUwnJydOP0wIxCqg95R+QplOT0+z95R+M/UvQMD1bK4339ramltYWAgq3DyDAm5vb8/t7u76u/iNQPACKysrbnl5Oahw82gKt8PDQ7e9vc0HSI/S028CridovczS0lIWbiGN2ordVwBfvnw5a+vW1hZvyCIQt4MS0Pq6vr7u5ufD3ZTp/b64uOiuXbuWhdz+/n5Qhik3JpyxfMrK9/vmR24hh1u+BNpgaKTJhEDIAlpHQw63vJ3e+2qvtgVM/Qgg3Y+zW11dDXKX5Lju61OnRp1MCIQooHVT62hMk0JO2wKmfgQIuH6co3sjepbYNiC+3fxOXyDWdTPWdse4RhFwPVRNuyRi2TVZ5JibmyvexW0EghCIdd3UtoDdlP2sQgRcD86xhptoOL25hxWEl5hKIOZ1M+ZtwlTFGuhJBNxA8LG8rE5vZkIgRAHWzRCrElabCLiw6hFUa/w1cUE1isYg8LyArtfkiwlYHcYJEHDjdAw/pt0/ujA15t1AhstnouusoybK3KiTBFwjvjSffHx87HSR98HBQZodpFfJCGgd1bqqdZYJgaJAuJf/F1tq6LberEOEiz4RHx0dOb5pwdDKlkBXdSxuY2Mju2ZTF30PcQKHTv2P9azOBFaBkV0g4EbSDPeAQmZnZ2e4BvDKCEQooA9mQ304u3LlCgEX4DrDLsoAi0KTEEAAAQSaCxBwzQ1ZAgIIIIBAgAIEXIBFoUkIIIAAAs0FCLjmhiwBAQQQQCBAAQIuwKLQJAQQQACB5gIEXHNDloAAAgggEKAAARdgUWgSAggggEBzAQKuuSFLQAABBBAIUICAC7AoNAkBBBBAoLkAAdfckCUggAACCAQoQMAFWBSahAACCCDQXICAa27IEhBAAAEEAhQg4AIsCk1CAAEEEGguQMA1N2QJCCCAAAIBChBwARaFJiGAAAIINBcg4JobsgQEEEAAgQAFCLgAi0KTEEAAAQSaCxBwzQ1ZAgIIIIBAgAIEXIBFoUkIIIAAAs0FCLjmhiwBAQQQQCBAAQIuwKLQJAQQQACB5gIEXHNDloAAAgggEKAAARdgUWgSAggggEBzAQKuuSFLQAABBBAIUICAC7AoNAkBBBBAoLkAAdfckCUggAACCAQoQMAFWBSahAACCCDQXICAa27Y+hJOT09bXyYLRACB7gR4z3Zn22TJBFwTvZrPPTk5qTnnc7PxZpmIi5kRGFxg0vfspNuEwTsYaQMIuB4Kp5X/+Pi49isdHh7WnpcZEUBgeIFJ3rPaFkwaiMP3MM4WEHA91W13d7fWKx0dHbn9/f1a8zITAgiEIaD3rN67daa7d+/WmY15WhAg4FpArLOIe/fuVQaXPtVtb2/XWRzzIIBAYAJ671aNzBSEfIDtr3AEXH/W7s6dO04jubI3gT793b59u/anwB6bzUshgEANgXHvYb3n9d7XNoCpP4H5/l6KV5KAdk9oNLe4uOjm5uaysGO3JOsGAmkI6L28ubnplpaW3Pz8vJuZmcmOvx8cHEx0HD4NjeF7QcANUAMdZN7b2xvglXlJBBDoQ4BdkX0oV78GuyirjZgDAQQQQCBCAQIuwqLRZAQQQACBagECrtqIORBAAAEEIhQg4CIsGk1GAAEEEKgWIOCqjZgDAQQQQCBCAQIuwqLRZAQQQACBagEuE6g2Yg4EKgVmZ2ez65507ZP/0X360bVQ+tHfmvRFu7rwVz/6Wz+6fir/w5fxVpIzAwKVAgRcJREzIHBRQCGmi3n14y/avzhX+T26wL9q0rWSujjYX0+l8GNCAIHJBAi4ybyY27CAwmxlZSULtToh1YRKy19eXs5+tBwFnsJOX/fEdxk2keW5lgQIOEvVpq8TC2ikplDTT9ehNq5xem3fDoWdgk4/jOzGqfGYdQECzvoaQP9LBS5duuTW1tay3Y+lMwx4p8JObdOPdmPqW+z1/aZMCCBwXoCAO+/BLeMC2i2o4FhYWIhCQsf/Hn74Yaf/cFNBx3ecRlE2GtmTAAHXEzQvE7aAjq+tr69HE2xFTQXytWvXsqDb2triOF0RiNsmBQg4k2Wn015Au/sUbBq5pTAp6B555JFsJKeg0/E6JgSsChBwVitPv93q6mq2O9Jfn5YSiQJbo1LtttzZ2Umpa/QFgdoCBFxtKmZMRUCjNu3O0/GrlCcFtx+dbmxsMJpLudj0rVSAr+oqZeHOVAV0duSNGzeSD7d8/RTk6rP6zoSAJQECzlK1jfdVoxmdcZjiLsmq0qrP6rsMmBCwIsAuSiuVNtxPfQ+kdkkygnHZcUddvK5dlvouTCYEUhZgBJdydelbNlrTWYWE24OVQRYysTiSfaDAXxYECDgLVTbaR51Mog156ieTTFNemchGRkwIpCpAwKVaWeP90ob7+vXr0V643Uf5dM2cjAi5PrR5jSEECLgh1HnNTgX8CRVsuKuZZWT1xJtqHeaIXYCAi72CtP+cgE4o0QY7lu+SPNf4gW7ISmayY0IgJQECLqVq0hcTF3B3UWYdk9OZpkwIpCRAwKVUTeN90TVenC05/UogO66Tm96PZ4YnQMCFVxNaNIWANs76bkmmZgIy5ENCM0OeHY4AARdOLWjJlAI6UeLq1atTPpunFQVkyQk6RRVuxyhAwMVYNdp8TkDHjrho+RxJoxuy5HhcI0KeHIgAARdIIWjGdALapcaF3NPZjXuWTNnlO06Ix2IQIOBiqBJtLBXQbrS1tbXSx7izuYBs2VXZ3JElDCdAwA1nzys3FNAZf+yabIg45umy5azKMUA8FLwAARd8iWhgmYD+t2r9r9VM3Qr4/xm821dh6Qh0I0DAdePKUjsWYGTRMXBu8VjnMPgzKgECLqpy0VgJaFTBV3H1ty7ImtFyf968UnsCBFx7liypJwFOLOkJOvcymOcw+DMaAQIumlLRUAnoWzYYvfW/Lsicbzjp351XbCZAwDXz49k9CzCS6Bk893LY5zD4MwoBAi6KMtFICczPz3NR94Crgi7+Vg2YEIhFgICLpVK0062srKAwsAA1GLgAvPxEAgTcRFzMPKQAG9ch9Z97bWowfA1oQX0BAq6+FXMOKKALu/naqAEL8PxLqwaqBRMCMQgQcDFUiTYGu3vy9PTUHR4euuPjYzNVYhRnptTRd5QjxtGX0EYHQhs1KNju3Lnj7t696/S3Jp1KrzMNdTr9zMxMsoUJrRbJQtOxxgIEXGNCFtC1gM7cC2335O3bt93u7u65rmskt7GxkXzQqRaqydHR0bn+cwOB0ATYRRlaRWjPBYHQRgwKsmK45Rvtg+7mzZtub2/vbISXnyf2v0OrSeyetL8bAQKuG1eW2qJAaBvT/f39Wr1LOehCq0mtgjCTOQF2UZoreXwdDm1j6o+51ZX0QZfSMTr+F/W61We+IQUIuCH1ee1KAf2nm6n8p6YpBZ2Ow6kuJycnlTVkBgSGEmAX5VDyvG4tgRS/GsoHXezH6FKsTa2VkpmiESDgoimVzYamvBGNPehSro3Nd1t6vWYXZXo1TapHFjaiPuhiO0ZnoTZJvZkMdoaAM1j0mLpsaSMaW9BZqk1M7xna+kCAgHtgwV8BCqRygskktLEEncXaTFJH5h1egIAbvga0YIyA5Y1o6EFnuTZjVlkeCkiAgAuoGDTlokDK3+l4sbfl94QadNSmvF7cG44AARdOLWhJiQAb0Qco+aC7cuVK9qXODx7t/y9q0785rziZAJcJTObF3D0LsBvsIriC7tatW25zc3PQ77mkNhdrwz1hCRBwYdWD1iBQW0Bf+Kwvc2ZCAIFyAQKu3IV7AxHgq6DGF2Lc/2ow/pnNH6U2zQ1ZQrcCBFy3viy9ocCkX2zc8OWie/qQIUNtoltdzDWYgDNX8rg6zEZ0fL30v4cPNVGboeR53boCBFxdKeYbRGDIEcogHZ7gRfVNIqurqxM8o91ZqU27niytfQEuE2jflCW2KMBGtBxzZWXF6VKBIc9kpDblteHecAQIuHBqQUtKBI6OjkrutXvX8vKyW1tbc/pi5qEnajN0BXj9KgECrkqIxwcVYCP6HH9IweZXCGrjJfgdqgABF2plaFcmYH0jGmKw+VXTem28A7/DFSDgwq0NLbsvYHUjGnKw+RXTam18//kdvgABF36NTLdQJzIcHx+7ubk5Ew4xBJsKoZpwkomJVTLqThJwUZfPRuMPDg6cNvwpT7EEm6+BasKEQOgCBFzoFaJ9bn9/P9mAiy3Y/OqomjAhELoAARd6hWhfFnCpMcQabL4OBJyX4HfIAgRcyNWhbZmATmZI5Thc7MGmgqgWnGDCmzMGAQIuhirRRnfv3j13+fLlICSm+Y8+Uwg2j8/ozUvwO3QBAi70CtG+TED/71koATfJt4ikFGx+VRzyv+jxbeA3AnUECLg6SswzuIBGDaHsplxcXHT6GXcmYYrBppVANWAEN/jbgQbUFOB/E6gJxWzDC4QyctAuymvXrjl9m39xUrDduHEje3ySkV5xOaHeDqUGofrQrrAELr5Dw2ofrUHgTEAbV33RcAiTLjxXkOnYoE640Lf66/9mS/2CdAIuhLWPNtQVIODqSjHf4AIKEu0eW1paGrwtaoBGchqxWZm0S5azJ61UO41+sosyjTqa6cX29raZvobWUexDqwjtqRIg4KqEeDwoAY3gxp3cEVRjE2rM4eFhtjs2oS7RFQMCBJyBIqfWRUYS/VcU8/7NecXmAgRcc0OW0LOATuzQiIKpHwFZ6zpEJgRiEyDgYqsY7c0Etra2kOhJAOueoHmZ1gUIuNZJWWAfAjoWxynr3Utr5MaF3d078wrdCBBw3biy1B4ENLLgP93sDlq2jN6682XJ3QsQcN0b8wodCWgDfOfOnY6WzmJ1Yom+mosJgVgFCLhYK0e7M4G7d++yC62DdUGXYuzs7HSwZBaJQH8CBFx/1rxSRwIbGxuMNFq01chYpkwIxC5AwMVeQdqfHYfb3Nx0p6enaLQgIEt2TbYAySIGFyDgBi8BDWhDQGf6sUutuaQMdZ0hEwIpCBBwKVSRPmQCOuGEC5KnXxkUbJw1Ob0fzwxPgIALrya0qIGAjh1x3dbkgDqphONuk7vxjLAFCLiw60PrphC4desWX+U1gZu+iktmHMOcAI1ZoxAg4KIoE42cREAb6meffZb/u6wGmk4mUbhxwXwNLGaJToCAi65kNLiOgDbYN2/eZCQ3BksjNxlxxuQYJB6KWoCAi7p8NH6cgA85jsldVNIxN41yCbeLNtyTjgABl04t6UmJgN9dydmVD3B0tqTCjd2SD0z4K00BAi7NutKrgoDOENR3K1o/kULXuXFCSWHl4GayAvPJ9oyOIVAQ0HVy2l159epVNzc3V3g07ZsarekbSriIO+0607vzAozgzntwK3EBBdwzzzxj6lo5HW9Tnwm3xFduundBgBHcBRLuSF1Aoxkdg7p8+bK7cuWKm51N83Oe+qndsnyFWeprNP0bJUDAjZLh/uQF9F/t6OST9fV1t7KyklR/1S997RZnSSZVVjozoQABNyEYs6cl4I9N7e7uZkG3sLAQdQd1bZuCjUsjoi4jjW9JgIBrCZLFxC3gj81dunTJra2tucXFxag6pGDT7kguh4iqbDS2YwECrmNgFh+XgE7E0M/S0lIWdPod8qQTSBRsnEAScpVo21ACBNxQ8rxu0AIa0elnfn4+Oz6nY3ShXFqg42rapaqfo6OjoB1pHAJDChBwQ+rz2sELKEB0/Zx+NJpbXl522o3Zd9gp1BS4CjX9ZkIAgWoBAq7aiDkQyAT8qE43NLJT4OlHx+vaDjwFmnY/+tdkpMZKiMDkAgTc5GY8A4Fs16BCR5caaNK1dAq9/I/u08/MzEz246+305mb+sow/ehv/WhZ+R/dx4QAAs0ECLhmfjwbgUxAgaQRl36YEEAgDIE0v8IhDFtagQACCCAwoAABNyA+L40AAggg0J0AAdedLUtGAAEEEBhQgIAbEJ+XRgABBBDoToCA686WJSOAAAIIDChAwA2Iz0sjgAACCHQnwGUC3dmOXLIuCvYXB+taKF3/xLdTjOTiAQSiE9AXAOiaSF0D6S/a12+mfgUIuH69s/9kU1/3pBU/Pynk9KW5+s2EAAJxCijU9L9R6Hd+0gdZ/U8P/osB8o/xd3cC7KLszvbCkvW/R+tLe4vhphn1hnjooYcuvDEuLIQ7EEAgSIFx72G95/Xe1zaAqT8BAq4na31Br3ZbjJv0JtCnPyYEEIhPQO/dsg+v+Z5oG6BtAVM/AgRcP87Zp7c6L6VPgVVBWGc5zIMAAv0J+GNudV5RIzmmfgQIuB6c9alukm+bX1hY6KFVvAQCCLQlMMl7VtuCqpFeW+2yvhwCroc1wH+LfN2XYuWvK8V8CIQhMOl7dtJtQhi9jK8VBFyANZv0zRJgF2gSAqYEeM+GWW4CLsy60CoEEEAAgYYCBFxDQJ6OAAIIIBCmAAEXZl1oFQIIIIBAQwECriEgT0cAAQQQCFOAgAuzLrQKAQQQQKChAAHXEJCnI4AAAgiEKUDAhVkXWoUAAggg0FCAgGsIyNMRQAABBMIUIODCrAutQgABBBBoKEDANQTk6QgggAACYQoQcGHWhVYhgAACCDQUIOAaAvJ0BBBAAIEwBQi4MOtCqxBAAAEEGgoQcA0BeToCCCCAQJgCBFyYdaFVCCCAAAINBQi4hoA8HQEEEEAgTAECLsy60CoEEEAAgYYCBFxDQJ6OAAIIIBCmAAEXZl1oFQIIIIBAQwECriEgT0cAAQQQCFOAgAuzLrQKAQQQQKChAAHXEJCnI4AAAgiEKUDAhVkXWoUAAggg0FCAgGsIyNMRQAABBMIUIODCrAutQgABBBBoKEDANQTk6QgggAACYQoQcGHWhVYhgAACCDQUmG/4fJ7egcD8/LxbXV3tYMnjF3l6euqOjo7c/v7++Bl5FIEABZaWlpzeOzMzM723Tq/LFJ4AVQmvJm5ubs4tLy8P1rLj42O3vb3tDg8PB2sDL4xAXYGFhQW3traWvW/qPof5bAiwi9JGnSfqpQJ2fX3dLS4uTvQ8ZkagbwGto1pXtc4yIVAUIOCKItzOBLSbR5+Kh9jdQwkQqCPAOlpHyfY8BJzt+o/t/ezs7KC7Ssc2jgfNC2g3vtZRJgRGCbB2jJLh/kxAxzeYEAhRgHUzxKqE1SYCrod66OzEWCd2UcZaufTbHfO6GfM2IaY1i4DroVonJycu1hVaZ1QyIRCiQKzrprYF2iYwdS9AwHVvnL3CwcFBT6/U7svE2u52FVhaiAKxrpuxtjvEdaCqTQRclVBLj+/s7EQ3itMbkYu+W1oBWEzrAlo3YwsLjd60LWDqR4CA68c52yWhi6dj2VWpbzRRe5kQCFlA66jW1RgmvffVXnZP9lctvsmkP+tsNKRvB9H1ZToDLMSD5Hrz7e3tud3d3R5leCkEphPQ+rq5uelWVlayS1pCvGxAwab3PeE2XY2bPIuAa6I3xXP1htza2srCTW/GkEJObdMPEwKxCegDmX70ngop5BRuek/FsucmtrpXtZeAqxLq6HGt8LGeBdYRCYtFoLEAH9IaEya1AI7BJVVOOoMAAggg4AUIOC/BbwQQQACBpAQIuKTKSWcQQAABBLwAAecl+I0AAgggkJQAAZdUOekMAggggIAXIOC8BL8RQAABBJISIOCSKiedQQABBBDwAgScl+A3AggggEBSAgRcUuWkMwgggAACXoCA8xL8RgABBBBISmDm/n85Ee9/N51UKegMAggggECbAozg2tRkWQgggAACwQgQcMGUgoYggAACCLQpQMC1qcmyEEAAAQSCESDggikFDUEAAQQQaFOAgGtTk2UhgAACCAQjQMAFUwoaggACCCDQpgAB16Ymy0IAAQQQCEaAgAumFDQEAQQQQKBNAQKuTU2WhQACCCAQjAABF0wpaAgCCCCAQJsCBFybmiwLAQQQQCAYAQIumFLQEAQQQACBNgUIuDY1WRYCCCCAQDACBFwwpaAhCCCAAAJtChBwbWqyLAQQQACBYAQIuGBKQUMQQAABBNoUIODa1GRZCCCAAALBCBBwwZSChiCAAAIItClAwLWpybIQQAABBIIRIOCCKQUNQQABBBBoU4CAa1OTZSGAAAIIBCNAwAVTChqCAAIIINCmAAHXpibLQgABBBAIRoCAC6YUNAQBBBBAoE0BAq5NTZaFAAIIIBCMAAEXTCloCAIIIIBAmwLzbS6MZSHQpcDJyYnb2tpyc3Nz7sqVK12+VFTLPj09zVyOj4/d5cuX3aVLl6JqP41FoCsBAq4r2QGXe3h46L74xS86BcLS0pL79Kc/PbI19+7dc1/60peyxx955BH36KOPuh/96EfZ7Q9+8IPuhS98Yfb3V77yFXf37t1zy5mdnc02qGtra07PfdWrXpWFz7mZ7t/429/+drbM4mP522984xvdG97whvxdTn352c9+5v71r39lG3FtzDUp5NbX17PXfNOb3uRmZmbOPa/ujS9/+ctub2/PPfzww+7xxx8/97QvfOEL7uDg4Nx9o27IsW6wyOuTn/zkuUX99a9/dT/+8Y+z+z70oQ+5F7zgBeceL95QmP3iF79wf//73zMX1dpPDz30kHv961/vXvva1zrVSJOv37Vr19xHP/pRP+u5388884z71re+ld33rne9K1sXdMM/18/8tre9zb3mNa/xN8/91jqi+fPTxz72Mac2TbMe5F97eXnZfepTnzrrU/41/vKXv7if/OQn2V0f+chH3He/+93atSurR37Z/B2vAAEXb+1GtnxhYcFdvXrVaaO5vb3t/ve//43cYGrDoHk0acOlDae/rb/9pA2Xv9/fp98aUWn63e9+l21gFFJvfvObzwVOfpnZzCP+KYaJ2v/9738/C6DiU7TMjY2N7OePf/yjUxhfv369ONvY2//4xz+cNuqa1LfNzc3MzT9JfVZw1ZkUsGU+Zc/1oZN/7Je//OXZ83/961+PrJee889//tN973vfczs7O/lFnP19+/bt7PE///nP7uMf/7hbXFzMPpyoffrAM2rK1+no6OhstmLtVetRAfenP/3prB9+Af5DSX75/rGy3/n1IP/aar9C/e1vf/uFp+k53l+vM0ntyupx4QW4I0oBAi7KslU3Wp/eFRCatNEZNSLQY5q0EXzlK1+ZfcrO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';
|
package/dist/pdf/audit/index.js
CHANGED
|
@@ -44,14 +44,14 @@ function buildAuditPdf(pdfOptions, data) {
|
|
|
44
44
|
entity,
|
|
45
45
|
timezone
|
|
46
46
|
} = data;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
47
|
+
console.log('buildAuditPdf', {
|
|
48
|
+
version: '4.30.1-canary.3'
|
|
49
|
+
});
|
|
50
50
|
const sequenceId = entity.sequenceId;
|
|
51
51
|
const timestamp = entity.createdAt;
|
|
52
52
|
const title = entity.title || 'Unknown';
|
|
53
53
|
const fileTitle = `Audit Report - ${title}`;
|
|
54
|
-
return generateContent(data
|
|
54
|
+
return generateContent(data).then(content => (0, _helpers.generateDefinition)({
|
|
55
55
|
content,
|
|
56
56
|
fileTitle,
|
|
57
57
|
sequenceId,
|
|
@@ -64,18 +64,24 @@ function buildAuditPdf(pdfOptions, data) {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
function generateContent(data
|
|
67
|
+
function generateContent(data) {
|
|
68
68
|
const {
|
|
69
69
|
entity
|
|
70
70
|
} = data;
|
|
71
71
|
const {
|
|
72
|
+
followUps = [],
|
|
72
73
|
footerFields = {},
|
|
73
74
|
gps = {},
|
|
74
75
|
headerFields = {},
|
|
75
76
|
score = {},
|
|
77
|
+
timezone,
|
|
76
78
|
title = 'Unknown'
|
|
77
79
|
} = entity;
|
|
78
80
|
const entityDetails = (0, _helpers2.getAuditEntryDetails)(data);
|
|
81
|
+
const hasFollowUps = !!entity.followUps;
|
|
82
|
+
console.log('buildAuditPdf', {
|
|
83
|
+
hasFollowUps
|
|
84
|
+
});
|
|
79
85
|
const {
|
|
80
86
|
gpsText,
|
|
81
87
|
groupedData,
|
|
@@ -127,9 +133,7 @@ function generateContent(data, flags) {
|
|
|
127
133
|
secondRow = [headerSubTitle, scoreServiceLevelSubTitle];
|
|
128
134
|
headerAddress = (0, _helpers.text)(address, {
|
|
129
135
|
style: 'small'
|
|
130
|
-
});
|
|
131
|
-
// If so apply `.toFixed(2)`
|
|
132
|
-
|
|
136
|
+
});
|
|
133
137
|
const truncatedTargetPercent = (0, _lodash.round)(target, 2);
|
|
134
138
|
const scoreTargetText = `(Target - ${truncatedTargetPercent}%)`;
|
|
135
139
|
const scoreTargetSubTitle = (0, _helpers.text)(scoreTargetText, {
|
|
@@ -156,7 +160,8 @@ function generateContent(data, flags) {
|
|
|
156
160
|
body,
|
|
157
161
|
layout: 'noBorders',
|
|
158
162
|
style: 'titleTable',
|
|
159
|
-
widths: ['*', 100]
|
|
163
|
+
widths: ['*', 100],
|
|
164
|
+
margin: [0, 0, 0, 30]
|
|
160
165
|
});
|
|
161
166
|
const totalScoreTable = (0, _helpers.twoColumnTable)({
|
|
162
167
|
body: [[scoreTitle, scoreBreakdown], [scorePercentage]],
|
|
@@ -167,18 +172,28 @@ function generateContent(data, flags) {
|
|
|
167
172
|
margin: [0, 10, 0, 0]
|
|
168
173
|
});
|
|
169
174
|
const hLineBottom = (0, _helpers.horizontalLine)();
|
|
175
|
+
const followUpItems = hasFollowUps ? (0, _helpers.buildAuditFollowUps)(followUps, {
|
|
176
|
+
timezone
|
|
177
|
+
}) : [];
|
|
170
178
|
const promises = {
|
|
171
|
-
entry: (0, _helpers.buildAuditContent)(groupedData.items
|
|
179
|
+
entry: (0, _helpers.buildAuditContent)(groupedData.items, {
|
|
180
|
+
hasFollowUps
|
|
181
|
+
}),
|
|
172
182
|
footerTemplate: (0, _helpers.buildTemplateContent)(footerFields.formGroups, data),
|
|
173
183
|
headerTemplate: (0, _helpers.buildTemplateContent)(headerFields.formGroups, data)
|
|
174
184
|
};
|
|
185
|
+
const auditItemsTitle = hasFollowUps ? [{
|
|
186
|
+
text: 'Audit Items',
|
|
187
|
+
style: {
|
|
188
|
+
font: 'Gotham',
|
|
189
|
+
lineHeight: 1.1
|
|
190
|
+
}
|
|
191
|
+
}, hLineTop] : [];
|
|
175
192
|
return _bluebird.default.props(promises).then(({
|
|
176
193
|
entry,
|
|
177
194
|
footerTemplate,
|
|
178
195
|
headerTemplate
|
|
179
|
-
}) => {
|
|
180
|
-
return [titleTable, ...headerTemplate, ...entry, hLineTop, totalScoreTable, hLineBottom, ...footerTemplate];
|
|
181
|
-
}).catch(err => {
|
|
196
|
+
}) => [titleTable, ...headerTemplate, followUpItems, ...auditItemsTitle, ...entry, hLineTop, totalScoreTable, hLineBottom, ...footerTemplate]).catch(err => {
|
|
182
197
|
throw new Error(`GenerateContentError: ${err.message}`);
|
|
183
198
|
});
|
|
184
199
|
}
|
|
@@ -17,7 +17,10 @@ var _ = require("../");
|
|
|
17
17
|
|
|
18
18
|
var _table = require("../table");
|
|
19
19
|
|
|
20
|
-
const buildAuditContent = _bluebird.default.method(items => {
|
|
20
|
+
const buildAuditContent = _bluebird.default.method((items, options) => {
|
|
21
|
+
const {
|
|
22
|
+
hasFollowUps
|
|
23
|
+
} = options;
|
|
21
24
|
return _bluebird.default.map(items, group => {
|
|
22
25
|
return _bluebird.default.map(group.items, (item, index) => {
|
|
23
26
|
return _bluebird.default.map(item.assets, ({
|
|
@@ -34,11 +37,17 @@ const buildAuditContent = _bluebird.default.method(items => {
|
|
|
34
37
|
const rows = [];
|
|
35
38
|
const fillColor = index % 2 === 0 ? _table.WHITE : _table.LIGHT_BLUE;
|
|
36
39
|
const hasImages = !(0, _lodash.isEmpty)(rowImages);
|
|
37
|
-
const hasComments = !(0, _lodash.isEmpty)(item.comments);
|
|
38
|
-
|
|
40
|
+
const hasComments = !(0, _lodash.isEmpty)(item.comments); // Some audits use questionId to link a follow up issue and its question
|
|
41
|
+
|
|
42
|
+
const label = hasFollowUps ? {
|
|
43
|
+
text: item.label,
|
|
44
|
+
fillColor,
|
|
45
|
+
id: item.questionId
|
|
46
|
+
} : {
|
|
39
47
|
text: item.label,
|
|
40
48
|
fillColor
|
|
41
|
-
}
|
|
49
|
+
};
|
|
50
|
+
rows.push([label, {
|
|
42
51
|
text: item.scoreLabel,
|
|
43
52
|
fillColor
|
|
44
53
|
}, {
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.buildAuditFollowUps = buildAuditFollowUps;
|
|
9
|
+
|
|
10
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
11
|
+
|
|
12
|
+
var _helpers = require("../../../helpers");
|
|
13
|
+
|
|
14
|
+
var _ = require("../");
|
|
15
|
+
|
|
16
|
+
var _images = require("../../../images");
|
|
17
|
+
|
|
18
|
+
// Still to do:
|
|
19
|
+
// *. Setup the page breaks, either on the last item here or the first in the next section
|
|
20
|
+
// - I want to do this in a way that avoids orphans, or at least only add a page break if the result looks balanced
|
|
21
|
+
// - If we can work out the page position of the last follow up item then we can determine whether to use a page break or not
|
|
22
|
+
// *. If you're not using the flag then you should make sure that all of the variables necessary have been passed in
|
|
23
|
+
// - If the required data isn't present then you should probably just not process follow up issues for the document
|
|
24
|
+
// - If you establish this at the start you can build it into the `hasFollowUps` flag
|
|
25
|
+
// *. Is there some way that you can setup an override for the pdfmake version used by storybook?
|
|
26
|
+
const LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io';
|
|
27
|
+
|
|
28
|
+
function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {
|
|
29
|
+
console.log('buildAuditFollowUps', {
|
|
30
|
+
rawFollowUpIssues,
|
|
31
|
+
options
|
|
32
|
+
});
|
|
33
|
+
const sectionTitle = [{
|
|
34
|
+
text: 'Follow-up Issues',
|
|
35
|
+
style: {
|
|
36
|
+
font: 'Gotham',
|
|
37
|
+
lineHeight: 1.1,
|
|
38
|
+
margin: [0, 0, 0, 50]
|
|
39
|
+
}
|
|
40
|
+
}];
|
|
41
|
+
const sectionDivider = (0, _.horizontalLine)({
|
|
42
|
+
margin: [0, 0, 0, 0]
|
|
43
|
+
});
|
|
44
|
+
const followUpIssues = rawFollowUpIssues.filter(item => !item.errorMessage);
|
|
45
|
+
|
|
46
|
+
if (!followUpIssues.length) {
|
|
47
|
+
// Show a `no follow up issues` message if there are no follow up issues
|
|
48
|
+
return [sectionTitle, sectionDivider, {
|
|
49
|
+
text: 'No follow up issues exist for this Audit',
|
|
50
|
+
style: _.defaultStyles.subTitle,
|
|
51
|
+
margin: [0, 5, 0, 50]
|
|
52
|
+
}];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const {
|
|
56
|
+
timezone = 'America/New_York'
|
|
57
|
+
} = options;
|
|
58
|
+
const tableBody = [];
|
|
59
|
+
followUpIssues.forEach(item => {
|
|
60
|
+
const mappedStatus = (0, _helpers.getStatusDetails)(item.status);
|
|
61
|
+
const status = {
|
|
62
|
+
text: mappedStatus.text.toUpperCase(),
|
|
63
|
+
style: { ..._.defaultStyles.small,
|
|
64
|
+
color: mappedStatus.style.color,
|
|
65
|
+
alignment: 'center'
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
let updatedAt = '';
|
|
69
|
+
|
|
70
|
+
if (item.updatedAt) {
|
|
71
|
+
const format = 'MMM D h:mma'; // e.g. Jan 21 12:59am in the Audit timezone
|
|
72
|
+
|
|
73
|
+
updatedAt = _momentTimezone.default.tz(item.updatedAt, timezone).format(format);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const link = `${LIGHTHOUSE_BASE_URL}/reports/issues/${item.issueId}`;
|
|
77
|
+
const iconLinkCell = _images.launchIcon ? {
|
|
78
|
+
alignment: 'center',
|
|
79
|
+
fit: [8, 8],
|
|
80
|
+
image: _images.launchIcon,
|
|
81
|
+
link
|
|
82
|
+
} : {
|
|
83
|
+
text: ''
|
|
84
|
+
}; // TODO Should we use the same icon for an external link as we do for a jump link?
|
|
85
|
+
|
|
86
|
+
const linkToDestination = item.questionId;
|
|
87
|
+
const iconJumpCell = _images.launchIcon ? {
|
|
88
|
+
alignment: 'center',
|
|
89
|
+
fit: [8, 8],
|
|
90
|
+
image: _images.launchIcon,
|
|
91
|
+
linkToDestination
|
|
92
|
+
} : {
|
|
93
|
+
text: ''
|
|
94
|
+
};
|
|
95
|
+
const assignees = item.assignees || [];
|
|
96
|
+
const assigneeUsername = assignees.length === 0 ? 'Unassigned' : assignees.length === 1 // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here
|
|
97
|
+
? (0, _helpers.getUserFullName)(assignees, 0) : `${assignees.length} users`;
|
|
98
|
+
tableBody.push([iconLinkCell, {
|
|
99
|
+
text: item.issueTitle || '',
|
|
100
|
+
link,
|
|
101
|
+
style: 'small',
|
|
102
|
+
image: _images.launchIcon
|
|
103
|
+
}, status, {
|
|
104
|
+
text: assigneeUsername,
|
|
105
|
+
style: 'small'
|
|
106
|
+
}, iconJumpCell, {
|
|
107
|
+
text: item.questionLabel || '',
|
|
108
|
+
style: 'small',
|
|
109
|
+
linkToDestination
|
|
110
|
+
}, {
|
|
111
|
+
text: updatedAt || '',
|
|
112
|
+
style: 'small',
|
|
113
|
+
alignment: 'right'
|
|
114
|
+
}]);
|
|
115
|
+
});
|
|
116
|
+
const headerText = ['', 'Issue Title', 'Status', 'Assignees', '', 'Audit Question', 'Last Updated'];
|
|
117
|
+
const headerRow = headerText.map(text => ({
|
|
118
|
+
text,
|
|
119
|
+
style: {
|
|
120
|
+
bold: true,
|
|
121
|
+
font: 'Gotham',
|
|
122
|
+
fontSize: 8,
|
|
123
|
+
alignment: 'left'
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
headerRow[2].alignment = 'center';
|
|
127
|
+
headerRow[6].alignment = 'right';
|
|
128
|
+
const followUpsTable = (0, _.sixColumnTable)({
|
|
129
|
+
body: [headerRow, ...tableBody],
|
|
130
|
+
style: 'titleTable',
|
|
131
|
+
widths: [6, '*', 55, 55, 6, '*', '18%'],
|
|
132
|
+
margin: [0, 0, 0, 30]
|
|
133
|
+
});
|
|
134
|
+
console.log('buildAuditFollowUps', {
|
|
135
|
+
followUpsTable
|
|
136
|
+
});
|
|
137
|
+
return [sectionTitle, sectionDivider, followUpsTable];
|
|
138
|
+
}
|
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "buildAuditContent", {
|
|
|
9
9
|
return _buildAuditContent.buildAuditContent;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "buildAuditFollowUps", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _buildAuditFollowUps.buildAuditFollowUps;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "buildLocationScansContent", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function () {
|
|
@@ -117,40 +123,46 @@ Object.defineProperty(exports, "imageTables", {
|
|
|
117
123
|
return _table.imageTables;
|
|
118
124
|
}
|
|
119
125
|
});
|
|
120
|
-
Object.defineProperty(exports, "
|
|
126
|
+
Object.defineProperty(exports, "sixColumnTable", {
|
|
121
127
|
enumerable: true,
|
|
122
128
|
get: function () {
|
|
123
|
-
return _table.
|
|
129
|
+
return _table.sixColumnTable;
|
|
124
130
|
}
|
|
125
131
|
});
|
|
126
|
-
Object.defineProperty(exports, "
|
|
132
|
+
Object.defineProperty(exports, "summaryFieldsTable", {
|
|
127
133
|
enumerable: true,
|
|
128
134
|
get: function () {
|
|
129
|
-
return _table.
|
|
135
|
+
return _table.summaryFieldsTable;
|
|
130
136
|
}
|
|
131
137
|
});
|
|
132
|
-
Object.defineProperty(exports, "
|
|
138
|
+
Object.defineProperty(exports, "summaryStatTable", {
|
|
133
139
|
enumerable: true,
|
|
134
140
|
get: function () {
|
|
135
|
-
return _table.
|
|
141
|
+
return _table.summaryStatTable;
|
|
136
142
|
}
|
|
137
143
|
});
|
|
138
|
-
Object.defineProperty(exports, "
|
|
144
|
+
Object.defineProperty(exports, "summaryWrapperTable", {
|
|
139
145
|
enumerable: true,
|
|
140
146
|
get: function () {
|
|
141
|
-
return _table.
|
|
147
|
+
return _table.summaryWrapperTable;
|
|
142
148
|
}
|
|
143
149
|
});
|
|
144
|
-
Object.defineProperty(exports, "
|
|
150
|
+
Object.defineProperty(exports, "table", {
|
|
145
151
|
enumerable: true,
|
|
146
152
|
get: function () {
|
|
147
|
-
return _table.
|
|
153
|
+
return _table.table;
|
|
148
154
|
}
|
|
149
155
|
});
|
|
150
|
-
Object.defineProperty(exports, "
|
|
156
|
+
Object.defineProperty(exports, "threeColumnTable", {
|
|
151
157
|
enumerable: true,
|
|
152
158
|
get: function () {
|
|
153
|
-
return _table.
|
|
159
|
+
return _table.threeColumnTable;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, "twoColumnTable", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function () {
|
|
165
|
+
return _table.twoColumnTable;
|
|
154
166
|
}
|
|
155
167
|
});
|
|
156
168
|
Object.defineProperty(exports, "zebraFillColor", {
|
|
@@ -168,6 +180,8 @@ Object.defineProperty(exports, "text", {
|
|
|
168
180
|
|
|
169
181
|
var _buildAuditContent = require("./build-audit-content");
|
|
170
182
|
|
|
183
|
+
var _buildAuditFollowUps = require("./build-audit-follow-ups");
|
|
184
|
+
|
|
171
185
|
var _buildLocationScansContent = require("./build-location-scans-content");
|
|
172
186
|
|
|
173
187
|
var _buildTemplateContent = require("./build-template-content");
|
|
@@ -13,6 +13,7 @@ exports.table = table;
|
|
|
13
13
|
exports.twoColumnTable = twoColumnTable;
|
|
14
14
|
exports.threeColumnTable = threeColumnTable;
|
|
15
15
|
exports.fourColumnTable = fourColumnTable;
|
|
16
|
+
exports.sixColumnTable = sixColumnTable;
|
|
16
17
|
exports.zebraFillColor = zebraFillColor;
|
|
17
18
|
exports.WHITE = exports.LIGHT_BLUE = exports.GRAY = void 0;
|
|
18
19
|
|
|
@@ -206,6 +207,13 @@ function fourColumnTable(options) {
|
|
|
206
207
|
return table(tableOptions);
|
|
207
208
|
}
|
|
208
209
|
|
|
210
|
+
function sixColumnTable(options) {
|
|
211
|
+
const tableOptions = (0, _lodash.defaults)({}, options, {
|
|
212
|
+
widths: ['16.7%', '16.66%', '16.66%', '16.66%', '16.66%', '16.66%']
|
|
213
|
+
});
|
|
214
|
+
return table(tableOptions);
|
|
215
|
+
}
|
|
216
|
+
|
|
209
217
|
function zebraFillColor(index) {
|
|
210
218
|
return index % 2 === 0 ? WHITE : LIGHT_BLUE;
|
|
211
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/get-audit-items-data/index.js"],"names":["find","groupBy","map","get","round","buildFetchUrl","getAuditItemsData","items","data","settings","awsS3BaseUrl","cloudinaryBaseUrl","entity","groupScores","groupedItems","auditData","overallActualScore","overallMaximumScore","groupIndex","key","skipped","group","title","label","groupData","groupMaximumScore","groupActualScore","groupResultScore","groupPercentageResultScore","currentGroupScores","max","actual","result","percentageResult","item","itemIndex","hasScore","score","assetCount","assets","length","asset","assetIndex","assetUrl","fit","height","width","quality","link","thumbnailUrl","comments","matchingScore","scores","value","scoreLabel","scoreWeight","weight"],"mappings":"AAAA,SAASA,IAAT,EAAeC,OAAf,EAAwBC,GAAxB,EAA6BC,GAA7B,EAAkCC,KAAlC,QAA+C,QAA/C;AAEA,SAASC,aAAT,QAA8B,KAA9B;AAEA,OAAO,SAASC,iBAAT,CAA2BC,KAA3B,EAAkCC,IAAlC,EAAwC;AAAA,uBAIzCA,IAJyC,CAE3CC,QAF2C;AAAA,+CAEK,EAFL;AAAA,MAE/BC,YAF+B,kBAE/BA,YAF+B;AAAA,MAEjBC,iBAFiB,kBAEjBA,iBAFiB;AAAA,qBAIzCH,IAJyC,CAG3CI,MAH2C;AAAA,2CAGjB,EAHiB;AAAA,MAGjCC,WAHiC,gBAGjCA,WAHiC;AAM7C,MAAMC,YAAY,GAAGb,OAAO,CAACM,KAAD,EAAQ,UAAR,CAA5B;AAEA,MAAMQ,SAAS,GAAG;AAChBC,IAAAA,kBAAkB,EAAE,CADJ;AAEhBC,IAAAA,mBAAmB,EAAE;AAFL,GAAlB;AAKAF,EAAAA,SAAS,CAACR,KAAV,GAAkBL,GAAG,CAACY,YAAD,EAAe,UAACP,KAAD,EAAQW,UAAR,EAAuB;AACzD,QAAMC,GAAG,GAAGD,UAAZ;AACA,QAAME,OAAO,GAAG,CAAC,CAACb,KAAK,CAAC,CAAD,CAAL,CAASc,KAAT,CAAeD,OAAjC;AACA,QAAME,KAAK,GAAGf,KAAK,CAAC,CAAD,CAAL,CAASc,KAAT,CAAeE,KAA7B;AAEA,QAAMC,SAAS,GAAG;AAChBL,MAAAA,GAAG,EAAHA,GADgB;AAEhBM,MAAAA,iBAAiB,EAAE,CAFH;AAGhBC,MAAAA,gBAAgB,EAAE,CAHF;AAIhBC,MAAAA,gBAAgB,EAAE,CAJF;AAKhBC,MAAAA,0BAA0B,EAAE,CALZ;AAMhBR,MAAAA,OAAO,EAAPA,OANgB;AAOhBE,MAAAA,KAAK,EAALA;AAPgB,KAAlB;AAUA,QAAMO,kBAAkB,GAAG1B,GAAG,CAACU,WAAD,EAAcM,GAAd,CAA9B;;AAEA,QAAIU,kBAAJ,EAAwB;AACtBL,MAAAA,SAAS,CAACC,iBAAV,GAA8BrB,KAAK,CAACyB,kBAAkB,CAACC,GAApB,EAAyB,CAAzB,CAAnC;AACAN,MAAAA,SAAS,CAACE,gBAAV,GAA6BtB,KAAK,CAACyB,kBAAkB,CAACE,MAApB,EAA4B,CAA5B,CAAlC;AACAP,MAAAA,SAAS,CAACG,gBAAV,GAA6BE,kBAAkB,CAACG,MAAhD;AACAR,MAAAA,SAAS,CAACI,0BAAV,GAAuCC,kBAAkB,CAACI,gBAA1D;AACD;;AAEDT,IAAAA,SAAS,CAACjB,KAAV,GAAkBA,KAAK,CAACL,GAAN,CAAU,UAACgC,IAAD,EAAOC,SAAP,EAAqB;AAC/C;AACA;AACA;AACA,UAAMC,QAAQ,GAAGF,IAAI,CAACG,KAAL,KAAe,IAAf,IAAuBH,IAAI,CAACG,KAAL,KAAe,CAAC,CAAxD;
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/get-audit-items-data/index.js"],"names":["find","groupBy","map","get","round","buildFetchUrl","getAuditItemsData","items","data","settings","awsS3BaseUrl","cloudinaryBaseUrl","entity","groupScores","groupedItems","auditData","overallActualScore","overallMaximumScore","groupIndex","key","skipped","group","title","label","groupData","groupMaximumScore","groupActualScore","groupResultScore","groupPercentageResultScore","currentGroupScores","max","actual","result","percentageResult","item","itemIndex","hasScore","score","assetCount","assets","length","asset","assetIndex","assetUrl","fit","height","width","quality","link","thumbnailUrl","comments","matchingScore","scores","value","scoreLabel","scoreWeight","weight","questionId","_id"],"mappings":"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","sourcesContent":["import { find, groupBy, map, get, round } from 'lodash'\n\nimport { buildFetchUrl } from '../'\n\nexport function getAuditItemsData(items, data) {\n const {\n settings: { awsS3BaseUrl, cloudinaryBaseUrl } = {},\n entity: { groupScores } = {},\n } = data\n\n const groupedItems = groupBy(items, 'group.id')\n\n const auditData = {\n overallActualScore: 0,\n overallMaximumScore: 0,\n }\n\n auditData.items = map(groupedItems, (items, groupIndex) => {\n const key = groupIndex\n const skipped = !!items[0].group.skipped\n const title = items[0].group.label\n\n const groupData = {\n key,\n groupMaximumScore: 0,\n groupActualScore: 0,\n groupResultScore: 0,\n groupPercentageResultScore: 0,\n skipped,\n title,\n }\n\n const currentGroupScores = get(groupScores, key)\n\n if (currentGroupScores) {\n groupData.groupMaximumScore = round(currentGroupScores.max, 2)\n groupData.groupActualScore = round(currentGroupScores.actual, 2)\n groupData.groupResultScore = currentGroupScores.result\n groupData.groupPercentageResultScore = currentGroupScores.percentageResult\n }\n\n groupData.items = items.map((item, itemIndex) => {\n // NOTE: we handle scores of -1, 0 and 1\n // -1 scores are skipped from group max and actual score\n // 0 and 1 must be included in the final scores\n const hasScore = item.score !== null && item.score !== -1\n const assetCount = item.assets.length\n\n const assets = item.assets.map((asset, assetIndex) => {\n const assetUrl = buildFetchUrl(asset, {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n fit: true,\n height: 400,\n width: 600,\n quality: 50,\n })\n\n const link = `${awsS3BaseUrl}/${asset}`\n\n const thumbnailUrl = buildFetchUrl(asset, {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n width: 100,\n quality: 50,\n })\n\n const key = `${groupIndex}-item-asset-${assetIndex}`\n\n return {\n assetUrl,\n key,\n link,\n thumbnailUrl,\n }\n })\n\n const comments = item.comments\n const label = item.label\n const score = item.score\n const key = `${groupIndex}-item-${itemIndex}`\n const matchingScore = find(item.scores, { value: score })\n\n // NOTE: ensure we have a score otherwise fallback to - value\n const scoreLabel =\n hasScore && matchingScore && !skipped ? matchingScore.label : '-'\n const scoreWeight = hasScore && !skipped ? item.scoreWeight : '-'\n const weight = hasScore ? item.weight : '-'\n\n return {\n assetCount,\n assets,\n comments,\n key,\n label,\n questionId: item._id,\n score,\n scoreLabel,\n scoreWeight,\n weight,\n }\n })\n\n return groupData\n })\n\n return auditData\n}\n"],"file":"index.js"}
|
package/lib/images/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export var launchIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABGdBTUEAALGPC/xhBQAAAsdJREFUWAntmE1oE0EUx9/bbiQxmIAIFhXsQUQQ2oLeDJjqwYsHPYi1aBWEnq0IXnNUL8WDFy8GrTQqePEsVZKDF5FaDyIIVkSPpYV8mG1mnNdl003Z7MfMbLYHB8JMZub93483O7NvByHGkjt3c69Vry9yzkfl3aCFyOcMeYFgS9ZqjqlBkg+e4hxnzWB38jPuTBx9f//t19sIMBZFhTMocuCHt2x4SmjsrJIuTF4DDmURyZ7V7vmTNHK6MDW9BYkMAVccpiGnkXRtR5KX7UgiA4QbhgEG5zBObDsior3LbUO2apVn7uBtbqZc8eoRxqyUeyBKO5fPr/x+87gRxcaZGwaS5pqZwuTrtmVddAxl6tXVtbVMYXq0WXv6M4p9WEjSFM8AvxBF3GuueI7ywDsHvMb69UWBJA1a+s0jChE/AuLLfsJ+/QbgUr36/IPfHPdYVEiy7R74iPClUV144BaMoy0DSRwD3fWykAMFVYEcGKgq5EBAdUDGDqoLMlZQHZAcYIkgxdH5OZZdvz0LogRj+7ubAILK3bPHHprm0JlUNjvRPUeDjMKO25FkT9xZkAwk+SuVSkxUi9TWGlEdy01QXkUbqK7l9oKkPi2gNqSe5Y4NVBUyW5wa31O8sq8foNOvFFFVyN2Fy+c7VufTxgZbPjEz45u4S4OqQtqRwpNUi3x2+Pu39YNO9LxqKVA9kF44/fsigyYBSfiRQJOCjASaJGRo0KQhQ4HqfHeTQ9ni+4weujSbEWfHIx0JhiygY+cL+uvVXFPkgssiI1wHA6/LZkGOM5XaF5SEm7XKqeFUen+rujCv4kjVNhCUHPx4V26pOlK1DwWq6kSH/X9QHVF0a3S/mRiD0+IK8oV7MO62+CA6HtYHgbbFb5c4K0dEujUS1lD3vHbH/OunaYpr8nsM+C0B6pu4+okojaG4CgeoNKrzf/x0/gGoGnZzJLiv/wAAAABJRU5ErkJggg==';
|
|
2
|
+
export var internalLinkIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAABO0lEQVR4nO3XPUoDURSG4RdtLcZZgGkFa38qUxmyBTeQTqwFG1vBTdhYRyvRFShWugmnExQRBWXAyOGSycxN7s2cG88Lp0ggkIevGAYsy7IWqQ5wAdzMeJfACbDWFuQc+A54b8B+G5DjwJDyvoDteUOWgD4wmPGOgEJgrkm4noB8Aisk2jLwITAbJFwhIJskXGEQZdki2rJFtGWLaMsW0ZYtoi1bJFarwC3wCGxFXiQHhsAT0CVwA/GHXoCdSJAceBC/uSJw68D7FBgfSO4gyjsg0ju4xLwCu4EgGXDnIM6ImC+mCSSbN2IaTB0kawvhi5kEKRH3bSJ8MFUQNYimmHEQdYgmGBeiFlGHkZA97YhR/TEPTfn52UGcojh3mapTuYQvJglEHSYpRBUmScSo7u+7xeHfN5ZlWf+yHw9ZHGBm/MZGAAAAAElFTkSuQmCC';
|
|
2
3
|
export var imageNotFound = 'data:image/png;base64,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';
|
|
3
4
|
export var videoIcon = 'data:image/png;base64,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EAQQQACBNgUIuDY1WRYCCCCAQDACBFwwpaAhCCCAAAJtChBwbWqyLAQQQACBYAQIuGBKQUMQQAABBNoUIODa1GRZCCCAAALBCBBwwZSChiCAAAIItClAwLWpybIQQAABBIIRIOCCKQUNQQABBBBoU4CAa1OTZSGAAAIIBCNAwAVTChqCAAIIINCmAAHXpibLQgABBBAIRoCAC6YUNAQBBBBAoE0BAq5NTZaFAAIIIBCMAAEXTCloCAIIIIBAmwLzbS6MZSHQpcDJyYnb2tpyc3Nz7sqVK12+VFTLPj09zVyOj4/d5cuX3aVLl6JqP41FoCsBAq4r2QGXe3h46L74xS86BcLS0pL79Kc/PbI19+7dc1/60peyxx955BH36KOPuh/96EfZ7Q9+8IPuhS98Yfb3V77yFXf37t1zy5mdnc02qGtra07PfdWrXpWFz7mZ7t/429/+drbM4mP522984xvdG97whvxdTn352c9+5v71r39lG3FtzDUp5NbX17PXfNOb3uRmZmbOPa/ujS9/+ctub2/PPfzww+7xxx8/97QvfOEL7uDg4Nx9o27IsW6wyOuTn/zkuUX99a9/dT/+8Y+z+z70oQ+5F7zgBeceL95QmP3iF79wf//73zMX1dpPDz30kHv961/vXvva1zrVSJOv37Vr19xHP/pRP+u5388884z71re+ld33rne9K1sXdMM/18/8tre9zb3mNa/xN8/91jqi+fPTxz72Mac2TbMe5F97eXnZfepTnzrrU/41/vKXv7if/OQn2V0f+chH3He/+93atSurR37Z/B2vAAEXb+1GtnxhYcFdvXrVaaO5vb3t/ve//43cYGrDoHk0acOlDae/rb/9pA2Xv9/fp98aUWn63e9+l21gFFJvfvObzwVOfpnZzCP+KYaJ2v/9738/C6DiU7TMjY2N7OePf/yjUxhfv369ONvY2//4xz+cNuqa1LfNzc3MzT9JfVZw1ZkUsGU+Zc/1oZN/7Je//OXZ83/961+PrJee889//tN973vfczs7O/lFnP19+/bt7PE///nP7uMf/7hbXFzMPpyoffrAM2rK1+no6OhstmLtVetRAfenP/3prB9+Af5DSX75/rGy3/n1IP/aar9C/e1vf/uFp+k53l+vM0ntyupx4QW4I0oBAi7KslU3Wp/eFRCatNEZNSLQY5q0EXzlK1+ZfcrO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';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/lib/images/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/images/index.js"],"names":["launchIcon","imageNotFound","videoIcon"],"mappings":"AAAA,OAAO,IAAMA,UAAU,GACrB,gjCADK;AAGP,OAAO,IAAMC,aAAa,GACxB,4qJADK;AAGP,OAAO,IAAMC,SAAS,GACpB,g5dADK","sourcesContent":["export const launchIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABGdBTUEAALGPC/xhBQAAAsdJREFUWAntmE1oE0EUx9/bbiQxmIAIFhXsQUQQ2oLeDJjqwYsHPYi1aBWEnq0IXnNUL8WDFy8GrTQqePEsVZKDF5FaDyIIVkSPpYV8mG1mnNdl003Z7MfMbLYHB8JMZub93483O7NvByHGkjt3c69Vry9yzkfl3aCFyOcMeYFgS9ZqjqlBkg+e4hxnzWB38jPuTBx9f//t19sIMBZFhTMocuCHt2x4SmjsrJIuTF4DDmURyZ7V7vmTNHK6MDW9BYkMAVccpiGnkXRtR5KX7UgiA4QbhgEG5zBObDsior3LbUO2apVn7uBtbqZc8eoRxqyUeyBKO5fPr/x+87gRxcaZGwaS5pqZwuTrtmVddAxl6tXVtbVMYXq0WXv6M4p9WEjSFM8AvxBF3GuueI7ywDsHvMb69UWBJA1a+s0jChE/AuLLfsJ+/QbgUr36/IPfHPdYVEiy7R74iPClUV144BaMoy0DSRwD3fWykAMFVYEcGKgq5EBAdUDGDqoLMlZQHZAcYIkgxdH5OZZdvz0LogRj+7ubAILK3bPHHprm0JlUNjvRPUeDjMKO25FkT9xZkAwk+SuVSkxUi9TWGlEdy01QXkUbqK7l9oKkPi2gNqSe5Y4NVBUyW5wa31O8sq8foNOvFFFVyN2Fy+c7VufTxgZbPjEz45u4S4OqQtqRwpNUi3x2+Pu39YNO9LxqKVA9kF44/fsigyYBSfiRQJOCjASaJGRo0KQhQ4HqfHeTQ9ni+4weujSbEWfHIx0JhiygY+cL+uvVXFPkgssiI1wHA6/LZkGOM5XaF5SEm7XKqeFUen+rujCv4kjVNhCUHPx4V26pOlK1DwWq6kSH/X9QHVF0a3S/mRiD0+IK8oV7MO62+CA6HtYHgbbFb5c4K0dEujUS1lD3vHbH/OunaYpr8nsM+C0B6pu4+okojaG4CgeoNKrzf/x0/gGoGnZzJLiv/wAAAABJRU5ErkJggg=='\n\nexport const imageNotFound =\n 'data:image/png;base64,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'\n\nexport const videoIcon =\n 'data:image/png;base64,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EAQQQACBNgUIuDY1WRYCCCCAQDACBFwwpaAhCCCAAAJtChBwbWqyLAQQQACBYAQIuGBKQUMQQAABBNoUIODa1GRZCCCAAALBCBBwwZSChiCAAAIItClAwLWpybIQQAABBIIRIOCCKQUNQQABBBBoU4CAa1OTZSGAAAIIBCNAwAVTChqCAAIIINCmAAHXpibLQgABBBAIRoCAC6YUNAQBBBBAoE0BAq5NTZaFAAIIIBCMAAEXTCloCAIIIIBAmwLzbS6MZSHQpcDJyYnb2tpyc3Nz7sqVK12+VFTLPj09zVyOj4/d5cuX3aVLl6JqP41FoCsBAq4r2QGXe3h46L74xS86BcLS0pL79Kc/PbI19+7dc1/60peyxx955BH36KOPuh/96EfZ7Q9+8IPuhS98Yfb3V77yFXf37t1zy5mdnc02qGtra07PfdWrXpWFz7mZ7t/429/+drbM4mP522984xvdG97whvxdTn352c9+5v71r39lG3FtzDUp5NbX17PXfNOb3uRmZmbOPa/ujS9/+ctub2/PPfzww+7xxx8/97QvfOEL7uDg4Nx9o27IsW6wyOuTn/zkuUX99a9/dT/+8Y+z+z70oQ+5F7zgBeceL95QmP3iF79wf//73zMX1dpPDz30kHv961/vXvva1zrVSJOv37Vr19xHP/pRP+u5388884z71re+ld33rne9K1sXdMM/18/8tre9zb3mNa/xN8/91jqi+fPTxz72Mac2TbMe5F97eXnZfepTnzrrU/41/vKXv7if/OQn2V0f+chH3He/+93atSurR37Z/B2vAAEXb+1GtnxhYcFdvXrVaaO5vb3t/ve//43cYGrDoHk0acOlDae/rb/9pA2Xv9/fp98aUWn63e9+l21gFFJvfvObzwVOfpnZzCP+KYaJ2v/9738/C6DiU7TMjY2N7OePf/yjUxhfv369ONvY2//4xz+cNuqa1LfNzc3MzT9JfVZw1ZkUsGU+Zc/1oZN/7Je//OXZ83/961+PrJee889//tN973vfczs7O/lFnP19+/bt7PE///nP7uMf/7hbXFzMPpyoffrAM2rK1+no6OhstmLtVetRAfenP/3prB9+Af5DSX75/rGy3/n1IP/aar9C/e1vf/uFp+k53l+vM0ntyupx4QW4I0oBAi7KslU3Wp/eFRCatNEZNSLQY5q0EXzlK1+ZfcrO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'\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/images/index.js"],"names":["launchIcon","internalLinkIcon","imageNotFound","videoIcon"],"mappings":"AAAA,OAAO,IAAMA,UAAU,GACrB,gjCADK;AAGP,OAAO,IAAMC,gBAAgB,GAC3B,oiBADK;AAGP,OAAO,IAAMC,aAAa,GACxB,4qJADK;AAGP,OAAO,IAAMC,SAAS,GACpB,g5dADK","sourcesContent":["export const launchIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABGdBTUEAALGPC/xhBQAAAsdJREFUWAntmE1oE0EUx9/bbiQxmIAIFhXsQUQQ2oLeDJjqwYsHPYi1aBWEnq0IXnNUL8WDFy8GrTQqePEsVZKDF5FaDyIIVkSPpYV8mG1mnNdl003Z7MfMbLYHB8JMZub93483O7NvByHGkjt3c69Vry9yzkfl3aCFyOcMeYFgS9ZqjqlBkg+e4hxnzWB38jPuTBx9f//t19sIMBZFhTMocuCHt2x4SmjsrJIuTF4DDmURyZ7V7vmTNHK6MDW9BYkMAVccpiGnkXRtR5KX7UgiA4QbhgEG5zBObDsior3LbUO2apVn7uBtbqZc8eoRxqyUeyBKO5fPr/x+87gRxcaZGwaS5pqZwuTrtmVddAxl6tXVtbVMYXq0WXv6M4p9WEjSFM8AvxBF3GuueI7ywDsHvMb69UWBJA1a+s0jChE/AuLLfsJ+/QbgUr36/IPfHPdYVEiy7R74iPClUV144BaMoy0DSRwD3fWykAMFVYEcGKgq5EBAdUDGDqoLMlZQHZAcYIkgxdH5OZZdvz0LogRj+7ubAILK3bPHHprm0JlUNjvRPUeDjMKO25FkT9xZkAwk+SuVSkxUi9TWGlEdy01QXkUbqK7l9oKkPi2gNqSe5Y4NVBUyW5wa31O8sq8foNOvFFFVyN2Fy+c7VufTxgZbPjEz45u4S4OqQtqRwpNUi3x2+Pu39YNO9LxqKVA9kF44/fsigyYBSfiRQJOCjASaJGRo0KQhQ4HqfHeTQ9ni+4weujSbEWfHIx0JhiygY+cL+uvVXFPkgssiI1wHA6/LZkGOM5XaF5SEm7XKqeFUen+rujCv4kjVNhCUHPx4V26pOlK1DwWq6kSH/X9QHVF0a3S/mRiD0+IK8oV7MO62+CA6HtYHgbbFb5c4K0dEujUS1lD3vHbH/OunaYpr8nsM+C0B6pu4+okojaG4CgeoNKrzf/x0/gGoGnZzJLiv/wAAAABJRU5ErkJggg=='\n\nexport const internalLinkIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAABO0lEQVR4nO3XPUoDURSG4RdtLcZZgGkFa38qUxmyBTeQTqwFG1vBTdhYRyvRFShWugmnExQRBWXAyOGSycxN7s2cG88Lp0ggkIevGAYsy7IWqQ5wAdzMeJfACbDWFuQc+A54b8B+G5DjwJDyvoDteUOWgD4wmPGOgEJgrkm4noB8Aisk2jLwITAbJFwhIJskXGEQZdki2rJFtGWLaMsW0ZYtoi1bJFarwC3wCGxFXiQHhsAT0CVwA/GHXoCdSJAceBC/uSJw68D7FBgfSO4gyjsg0ju4xLwCu4EgGXDnIM6ImC+mCSSbN2IaTB0kawvhi5kEKRH3bSJ8MFUQNYimmHEQdYgmGBeiFlGHkZA97YhR/TEPTfn52UGcojh3mapTuYQvJglEHSYpRBUmScSo7u+7xeHfN5ZlWf+yHw9ZHGBm/MZGAAAAAElFTkSuQmCC'\n\nexport const imageNotFound =\n 'data:image/png;base64,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'\n\nexport const videoIcon =\n 'data:image/png;base64,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EAQQQACBNgUIuDY1WRYCCCCAQDACBFwwpaAhCCCAAAJtChBwbWqyLAQQQACBYAQIuGBKQUMQQAABBNoUIODa1GRZCCCAAALBCBBwwZSChiCAAAIItClAwLWpybIQQAABBIIRIOCCKQUNQQABBBBoU4CAa1OTZSGAAAIIBCNAwAVTChqCAAIIINCmAAHXpibLQgABBBAIRoCAC6YUNAQBBBBAoE0BAq5NTZaFAAIIIBCMAAEXTCloCAIIIIBAmwLzbS6MZSHQpcDJyYnb2tpyc3Nz7sqVK12+VFTLPj09zVyOj4/d5cuX3aVLl6JqP41FoCsBAq4r2QGXe3h46L74xS86BcLS0pL79Kc/PbI19+7dc1/60peyxx955BH36KOPuh/96EfZ7Q9+8IPuhS98Yfb3V77yFXf37t1zy5mdnc02qGtra07PfdWrXpWFz7mZ7t/429/+drbM4mP522984xvdG97whvxdTn352c9+5v71r39lG3FtzDUp5NbX17PXfNOb3uRmZmbOPa/ujS9/+ctub2/PPfzww+7xxx8/97QvfOEL7uDg4Nx9o27IsW6wyOuTn/zkuUX99a9/dT/+8Y+z+z70oQ+5F7zgBeceL95QmP3iF79wf//73zMX1dpPDz30kHv961/vXvva1zrVSJOv37Vr19xHP/pRP+u5388884z71re+ld33rne9K1sXdMM/18/8tre9zb3mNa/xN8/91jqi+fPTxz72Mac2TbMe5F97eXnZfepTnzrrU/41/vKXv7if/OQn2V0f+chH3He/+93atSurR37Z/B2vAAEXb+1GtnxhYcFdvXrVaaO5vb3t/ve//43cYGrDoHk0acOlDae/rb/9pA2Xv9/fp98aUWn63e9+l21gFFJvfvObzwVOfpnZzCP+KYaJ2v/9738/C6DiU7TMjY2N7OePf/yjUxhfv369ONvY2//4xz+cNuqa1LfNzc3MzT9JfVZw1ZkUsGU+Zc/1oZN/7Je//OXZ83/961+PrJee889//tN973vfczs7O/lFnP19+/bt7PE///nP7uMf/7hbXFzMPpyoffrAM2rK1+no6OhstmLtVetRAfenP/3prB9+Af5DSX75/rGy3/n1IP/aar9C/e1vf/uFp+k53l+vM0ntyupx4QW4I0oBAi7KslU3Wp/eFRCatNEZNSLQY5q0EXzlK1+ZfcrO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'\n"],"file":"index.js"}
|
package/lib/pdf/audit/index.js
CHANGED
|
@@ -7,7 +7,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
7
7
|
|
|
8
8
|
import Promise from 'bluebird';
|
|
9
9
|
import { isEmpty, round } from 'lodash';
|
|
10
|
-
import { buildAuditContent, buildTemplateContent, generateDefinition, getFormattedAddress, horizontalLine, text, twoColumnTable } from '../helpers';
|
|
10
|
+
import { buildAuditContent, buildAuditFollowUps, buildTemplateContent, generateDefinition, getFormattedAddress, horizontalLine, text, twoColumnTable } from '../helpers';
|
|
11
11
|
import { getAuditEntryDetails } from '../../helpers';
|
|
12
12
|
/**
|
|
13
13
|
* buildAuditPdf
|
|
@@ -37,13 +37,14 @@ import { getAuditEntryDetails } from '../../helpers';
|
|
|
37
37
|
export function buildAuditPdf(pdfOptions, data) {
|
|
38
38
|
var entity = data.entity,
|
|
39
39
|
timezone = data.timezone;
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
console.log('buildAuditPdf', {
|
|
41
|
+
version: '4.30.1-canary.3'
|
|
42
|
+
});
|
|
42
43
|
var sequenceId = entity.sequenceId;
|
|
43
44
|
var timestamp = entity.createdAt;
|
|
44
45
|
var title = entity.title || 'Unknown';
|
|
45
46
|
var fileTitle = "Audit Report - ".concat(title);
|
|
46
|
-
return generateContent(data
|
|
47
|
+
return generateContent(data).then(function (content) {
|
|
47
48
|
return generateDefinition(_objectSpread({
|
|
48
49
|
content: content,
|
|
49
50
|
fileTitle: fileTitle,
|
|
@@ -57,9 +58,11 @@ export function buildAuditPdf(pdfOptions, data) {
|
|
|
57
58
|
});
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
function generateContent(data
|
|
61
|
+
function generateContent(data) {
|
|
61
62
|
var entity = data.entity;
|
|
62
|
-
var _entity$
|
|
63
|
+
var _entity$followUps = entity.followUps,
|
|
64
|
+
followUps = _entity$followUps === void 0 ? [] : _entity$followUps,
|
|
65
|
+
_entity$footerFields = entity.footerFields,
|
|
63
66
|
footerFields = _entity$footerFields === void 0 ? {} : _entity$footerFields,
|
|
64
67
|
_entity$gps = entity.gps,
|
|
65
68
|
gps = _entity$gps === void 0 ? {} : _entity$gps,
|
|
@@ -67,9 +70,14 @@ function generateContent(data, flags) {
|
|
|
67
70
|
headerFields = _entity$headerFields === void 0 ? {} : _entity$headerFields,
|
|
68
71
|
_entity$score = entity.score,
|
|
69
72
|
score = _entity$score === void 0 ? {} : _entity$score,
|
|
73
|
+
timezone = entity.timezone,
|
|
70
74
|
_entity$title = entity.title,
|
|
71
75
|
title = _entity$title === void 0 ? 'Unknown' : _entity$title;
|
|
72
76
|
var entityDetails = getAuditEntryDetails(data);
|
|
77
|
+
var hasFollowUps = !!entity.followUps;
|
|
78
|
+
console.log('buildAuditPdf', {
|
|
79
|
+
hasFollowUps: hasFollowUps
|
|
80
|
+
});
|
|
73
81
|
var gpsText = entityDetails.gpsText,
|
|
74
82
|
groupedData = entityDetails.groupedData,
|
|
75
83
|
locationText = entityDetails.locationText,
|
|
@@ -119,9 +127,7 @@ function generateContent(data, flags) {
|
|
|
119
127
|
secondRow = [headerSubTitle, scoreServiceLevelSubTitle];
|
|
120
128
|
headerAddress = text(address, {
|
|
121
129
|
style: 'small'
|
|
122
|
-
});
|
|
123
|
-
// If so apply `.toFixed(2)`
|
|
124
|
-
|
|
130
|
+
});
|
|
125
131
|
var truncatedTargetPercent = round(target, 2);
|
|
126
132
|
var scoreTargetText = "(Target - ".concat(truncatedTargetPercent, "%)");
|
|
127
133
|
var scoreTargetSubTitle = text(scoreTargetText, {
|
|
@@ -148,7 +154,8 @@ function generateContent(data, flags) {
|
|
|
148
154
|
body: body,
|
|
149
155
|
layout: 'noBorders',
|
|
150
156
|
style: 'titleTable',
|
|
151
|
-
widths: ['*', 100]
|
|
157
|
+
widths: ['*', 100],
|
|
158
|
+
margin: [0, 0, 0, 30]
|
|
152
159
|
});
|
|
153
160
|
var totalScoreTable = twoColumnTable({
|
|
154
161
|
body: [[scoreTitle, scoreBreakdown], [scorePercentage]],
|
|
@@ -159,16 +166,28 @@ function generateContent(data, flags) {
|
|
|
159
166
|
margin: [0, 10, 0, 0]
|
|
160
167
|
});
|
|
161
168
|
var hLineBottom = horizontalLine();
|
|
169
|
+
var followUpItems = hasFollowUps ? buildAuditFollowUps(followUps, {
|
|
170
|
+
timezone: timezone
|
|
171
|
+
}) : [];
|
|
162
172
|
var promises = {
|
|
163
|
-
entry: buildAuditContent(groupedData.items
|
|
173
|
+
entry: buildAuditContent(groupedData.items, {
|
|
174
|
+
hasFollowUps: hasFollowUps
|
|
175
|
+
}),
|
|
164
176
|
footerTemplate: buildTemplateContent(footerFields.formGroups, data),
|
|
165
177
|
headerTemplate: buildTemplateContent(headerFields.formGroups, data)
|
|
166
178
|
};
|
|
179
|
+
var auditItemsTitle = hasFollowUps ? [{
|
|
180
|
+
text: 'Audit Items',
|
|
181
|
+
style: {
|
|
182
|
+
font: 'Gotham',
|
|
183
|
+
lineHeight: 1.1
|
|
184
|
+
}
|
|
185
|
+
}, hLineTop] : [];
|
|
167
186
|
return Promise.props(promises).then(function (_ref) {
|
|
168
187
|
var entry = _ref.entry,
|
|
169
188
|
footerTemplate = _ref.footerTemplate,
|
|
170
189
|
headerTemplate = _ref.headerTemplate;
|
|
171
|
-
return [titleTable].concat(_toConsumableArray(headerTemplate), _toConsumableArray(entry), [hLineTop, totalScoreTable, hLineBottom], _toConsumableArray(footerTemplate));
|
|
190
|
+
return [titleTable].concat(_toConsumableArray(headerTemplate), [followUpItems], auditItemsTitle, _toConsumableArray(entry), [hLineTop, totalScoreTable, hLineBottom], _toConsumableArray(footerTemplate));
|
|
172
191
|
}).catch(function (err) {
|
|
173
192
|
throw new Error("GenerateContentError: ".concat(err.message));
|
|
174
193
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/pdf/audit/index.js"],"names":["Promise","isEmpty","round","buildAuditContent","buildTemplateContent","generateDefinition","getFormattedAddress","horizontalLine","text","twoColumnTable","getAuditEntryDetails","buildAuditPdf","pdfOptions","data","entity","timezone","flags","sequenceId","timestamp","createdAt","title","fileTitle","generateContent","then","content","type","catch","err","Error","message","footerFields","gps","headerFields","score","entityDetails","gpsText","groupedData","locationText","referenceValue","timezoneHourTime","scoreText","target","targetServiceLevel","renderTargetFields","headerTitle","style","headerScore","alignment","firstRow","subTitle","headerSubTitle","colSpan","secondRow","reverseGeocoded","address","renderHeaderAddress","dummyColumn","headerAddress","renderThirdRow","thirdRow","serviceLevelBelow","serviceLevelText","scoreServiceLevelSubTitle","truncatedTargetPercent","scoreTargetText","scoreTargetSubTitle","scoreBreakdown","actual","max","scorePercentage","scoreTitle","body","titleTable","layout","widths","totalScoreTable","hLineTop","margin","hLineBottom","promises","entry","items","footerTemplate","formGroups","headerTemplate","props"],"mappings":";;;;;;;AAAA,OAAOA,OAAP,MAAoB,UAApB;AACA,SAASC,OAAT,EAAkBC,KAAlB,QAA+B,QAA/B;AAEA,SACEC,iBADF,EAEEC,oBAFF,EAGEC,kBAHF,EAIEC,mBAJF,EAKEC,cALF,EAMEC,IANF,EAOEC,cAPF,QAQO,YARP;AAUA,SAASC,oBAAT,QAAqC,eAArC;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,OAAO,SAASC,aAAT,CAAuBC,UAAvB,EAAmCC,IAAnC,EAAyC;AAAA,MACtCC,MADsC,GACjBD,IADiB,CACtCC,MADsC;AAAA,MAC9BC,QAD8B,GACjBF,IADiB,CAC9BE,QAD8B;AAAA,0BAEvBH,UAFuB,CAEtCI,KAFsC;AAAA,MAEtCA,KAFsC,kCAE9B,EAF8B;AAI9C,MAAMC,UAAU,GAAGH,MAAM,CAACG,UAA1B;AACA,MAAMC,SAAS,GAAGJ,MAAM,CAACK,SAAzB;AACA,MAAMC,KAAK,GAAGN,MAAM,CAACM,KAAP,IAAgB,SAA9B;AAEA,MAAMC,SAAS,4BAAqBD,KAArB,CAAf;AAEA,SAAOE,eAAe,CAACT,IAAD,EAAOG,KAAP,CAAf,CACJO,IADI,CACC,UAAAC,OAAO;AAAA,WACXnB,kBAAkB;AAChBmB,MAAAA,OAAO,EAAPA,OADgB;AAEhBH,MAAAA,SAAS,EAATA,SAFgB;AAGhBJ,MAAAA,UAAU,EAAVA,UAHgB;AAIhBC,MAAAA,SAAS,EAATA,SAJgB;AAKhBH,MAAAA,QAAQ,EAARA,QALgB;AAMhBU,MAAAA,IAAI,EAAE;AANU,OAObb,UAPa,EADP;AAAA,GADR,EAYJc,KAZI,CAYE,UAAAC,GAAG,EAAI;AACZ,UAAM,IAAIC,KAAJ,+BAAiCD,GAAG,CAACE,OAArC,EAAN;AACD,GAdI,CAAP;AAeD;;AAED,SAASP,eAAT,CAAyBT,IAAzB,EAA+BG,KAA/B,EAAsC;AAAA,MAC5BF,MAD4B,GACjBD,IADiB,CAC5BC,MAD4B;AAAA,6BAShCA,MATgC,CAIlCgB,YAJkC;AAAA,MAIlCA,YAJkC,qCAInB,EAJmB;AAAA,oBAShChB,MATgC,CAKlCiB,GALkC;AAAA,MAKlCA,GALkC,4BAK5B,EAL4B;AAAA,6BAShCjB,MATgC,CAMlCkB,YANkC;AAAA,MAMlCA,YANkC,qCAMnB,EANmB;AAAA,sBAShClB,MATgC,CAOlCmB,KAPkC;AAAA,MAOlCA,KAPkC,8BAO1B,EAP0B;AAAA,sBAShCnB,MATgC,CAQlCM,KARkC;AAAA,MAQlCA,KARkC,8BAQ1B,SAR0B;AAWpC,MAAMc,aAAa,GAAGxB,oBAAoB,CAACG,IAAD,CAA1C;AAXoC,MAclCsB,OAdkC,GAsBhCD,aAtBgC,CAclCC,OAdkC;AAAA,MAelCC,WAfkC,GAsBhCF,aAtBgC,CAelCE,WAfkC;AAAA,MAgBlCC,YAhBkC,GAsBhCH,aAtBgC,CAgBlCG,YAhBkC;AAAA,MAiBlCC,cAjBkC,GAsBhCJ,aAtBgC,CAiBlCI,cAjBkC;AAAA,MAkBlCC,gBAlBkC,GAsBhCL,aAtBgC,CAkBlCK,gBAlBkC;AAAA,MAmBlCC,SAnBkC,GAsBhCN,aAtBgC,CAmBlCM,SAnBkC;AAAA,MAoBlCC,MApBkC,GAsBhCP,aAtBgC,CAoBlCO,MApBkC;AAAA,MAqBlCC,kBArBkC,GAsBhCR,aAtBgC,CAqBlCQ,kBArBkC;AAwBpC,MAAMC,kBAAkB,GAAG,CAAC,CAACD,kBAA7B;AACA,MAAME,WAAW,GAAGpC,IAAI,CAACY,KAAD,EAAQ;AAAEyB,IAAAA,KAAK,EAAE;AAAT,GAAR,CAAxB;AACA,MAAMC,WAAW,GAAGtC,IAAI,CAACgC,SAAD,EAAY;AAAEO,IAAAA,SAAS,EAAE,OAAb;AAAsBF,IAAAA,KAAK,EAAE;AAA7B,GAAZ,CAAxB;AACA,MAAMG,QAAQ,GAAG,CAACJ,WAAD,EAAcE,WAAd,CAAjB;AACA,MAAMG,QAAQ,aAAMZ,YAAY,IAC9BF,OADY,gBACCI,gBADD,iBACwBD,cADxB,CAAd;AAGA,MAAIY,cAAc,GAAG1C,IAAI,CAACyC,QAAD,EAAW;AAAEE,IAAAA,OAAO,EAAE,CAAX;AAAcN,IAAAA,KAAK,EAAE;AAArB,GAAX,CAAzB;AACA,MAAIO,SAAS,GAAG,CAACF,cAAD,CAAhB;AAEA,MAAMG,eAAe,GAAGtB,GAAG,CAACsB,eAA5B;AACA,MAAMC,OAAO,GAAG,CAACrD,OAAO,CAACoD,eAAD,CAAR,GACZ/C,mBAAmB,CAAC+C,eAAD,CADP,GAEZ,EAFJ;AAGA,MAAME,mBAAmB,GAAG,CAACtD,OAAO,CAACoD,eAAD,CAApC;AACA,MAAMG,WAAW,GAAGhD,IAAI,CAAC,GAAD,EAAM;AAAEqC,IAAAA,KAAK,EAAE;AAAT,GAAN,CAAxB;AAEA,MAAIY,aAAa,GAAGjD,IAAI,CAAC8C,OAAD,EAAU;AAAEH,IAAAA,OAAO,EAAE,CAAX;AAAcN,IAAAA,KAAK,EAAE;AAArB,GAAV,CAAxB;AACA,MAAMa,cAAc,GAAGH,mBAAmB,IAAIZ,kBAA9C;AACA,MAAIgB,QAAQ,GAAGJ,mBAAmB,GAAG,CAACE,aAAD,CAAH,GAAqB,EAAvD;;AAEA,MAAId,kBAAJ,EAAwB;AACtBO,IAAAA,cAAc,GAAG1C,IAAI,CAACyC,QAAD,EAAW;AAAEJ,MAAAA,KAAK,EAAE;AAAT,KAAX,CAArB;AAEA,QAAMe,iBAAiB,GAAGlB,kBAAkB,KAAK,OAAjD;AACA,QAAMmB,gBAAgB,GACpBnB,kBAAkB,KAAK,OAAvB,GACI,cADJ,GAEIA,kBAAkB,KAAK,IAAvB,GACA,WADA,GAEAA,kBAAkB,KAAK,OAAvB,GACA,cADA,GAEA,EAPN;AASA,QAAMoB,yBAAyB,GAAGtD,IAAI,CAACqD,gBAAD,EAAmB;AACvDd,MAAAA,SAAS,EAAE,OAD4C;AAEvDF,MAAAA,KAAK,EAAEe,iBAAiB,GAAG,mBAAH,GAAyB;AAFM,KAAnB,CAAtC;AAKAR,IAAAA,SAAS,GAAG,CAACF,cAAD,EAAiBY,yBAAjB,CAAZ;AAEAL,IAAAA,aAAa,GAAGjD,IAAI,CAAC8C,OAAD,EAAU;AAAET,MAAAA,KAAK,EAAE;AAAT,KAAV,CAApB,CApBsB,CAsBtB;AACA;;AACA,QAAMkB,sBAAsB,GAAG7D,KAAK,CAACuC,MAAD,EAAS,CAAT,CAApC;AAEA,QAAMuB,eAAe,uBAAgBD,sBAAhB,OAArB;AACA,QAAME,mBAAmB,GAAGzD,IAAI,CAACwD,eAAD,EAAkB;AAChDjB,MAAAA,SAAS,EAAE,OADqC;AAEhDF,MAAAA,KAAK,EAAE;AAFyC,KAAlB,CAAhC;AAKAc,IAAAA,QAAQ,GAAGJ,mBAAmB,GAC1B,CAACE,aAAD,EAAgBQ,mBAAhB,CAD0B,GAE1B,CAACT,WAAD,EAAcS,mBAAd,CAFJ;AAGD;;AAED,MAAMC,cAAc,GAAG1D,IAAI,WACtBN,KAAK,CAAC+B,KAAK,CAACkC,MAAP,EAAe,CAAf,CADiB,gBACMjE,KAAK,CAAC+B,KAAK,CAACmC,GAAP,EAAY,CAAZ,CADX,GAEzB;AACErB,IAAAA,SAAS,EAAE,OADb;AAEEF,IAAAA,KAAK,EAAE;AAFT,GAFyB,CAA3B;AAOA,MAAMwB,eAAe,GAAG7D,IAAI,CAACgC,SAAD,EAAY;AACtCO,IAAAA,SAAS,EAAE,OAD2B;AAEtCI,IAAAA,OAAO,EAAE,CAF6B;AAGtCN,IAAAA,KAAK,EAAE;AAH+B,GAAZ,CAA5B;AAKA,MAAMyB,UAAU,GAAG9D,IAAI,CAAC,aAAD,EAAgB;AAAEqC,IAAAA,KAAK,EAAE;AAAT,GAAhB,CAAvB;AAEA,MAAM0B,IAAI,GAAGb,cAAc,GACvB,CAACV,QAAD,EAAWI,SAAX,EAAsBO,QAAtB,CADuB,GAEvB,CAACX,QAAD,EAAWI,SAAX,CAFJ;AAIA,MAAMoB,UAAU,GAAG/D,cAAc,CAAC;AAChC8D,IAAAA,IAAI,EAAJA,IADgC;AAEhCE,IAAAA,MAAM,EAAE,WAFwB;AAGhC5B,IAAAA,KAAK,EAAE,YAHyB;AAIhC6B,IAAAA,MAAM,EAAE,CAAC,GAAD,EAAM,GAAN;AAJwB,GAAD,CAAjC;AAOA,MAAMC,eAAe,GAAGlE,cAAc,CAAC;AACrC8D,IAAAA,IAAI,EAAE,CAAC,CAACD,UAAD,EAAaJ,cAAb,CAAD,EAA+B,CAACG,eAAD,CAA/B,CAD+B;AAErCI,IAAAA,MAAM,EAAE,WAF6B;AAGrCC,IAAAA,MAAM,EAAE,CAAC,GAAD,EAAM,GAAN;AAH6B,GAAD,CAAtC;AAMA,MAAME,QAAQ,GAAGrE,cAAc,CAAC;AAAEsE,IAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,EAAJ,EAAQ,CAAR,EAAW,CAAX;AAAV,GAAD,CAA/B;AACA,MAAMC,WAAW,GAAGvE,cAAc,EAAlC;AAEA,MAAMwE,QAAQ,GAAG;AACfC,IAAAA,KAAK,EAAE7E,iBAAiB,CAACiC,WAAW,CAAC6C,KAAb,CADT;AAEfC,IAAAA,cAAc,EAAE9E,oBAAoB,CAAC0B,YAAY,CAACqD,UAAd,EAA0BtE,IAA1B,CAFrB;AAGfuE,IAAAA,cAAc,EAAEhF,oBAAoB,CAAC4B,YAAY,CAACmD,UAAd,EAA0BtE,IAA1B;AAHrB,GAAjB;AAMA,SAAOb,OAAO,CAACqF,KAAR,CAAcN,QAAd,EACJxD,IADI,CACC,gBAA+C;AAAA,QAA5CyD,KAA4C,QAA5CA,KAA4C;AAAA,QAArCE,cAAqC,QAArCA,cAAqC;AAAA,QAArBE,cAAqB,QAArBA,cAAqB;AACnD,YACEZ,UADF,4BAEKY,cAFL,sBAGKJ,KAHL,IAIEJ,QAJF,EAKED,eALF,EAMEG,WANF,sBAOKI,cAPL;AASD,GAXI,EAYJxD,KAZI,CAYE,UAAAC,GAAG,EAAI;AACZ,UAAM,IAAIC,KAAJ,iCAAmCD,GAAG,CAACE,OAAvC,EAAN;AACD,GAdI,CAAP;AAeD","sourcesContent":["import Promise from 'bluebird'\nimport { isEmpty, round } from 'lodash'\n\nimport {\n buildAuditContent,\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n horizontalLine,\n text,\n twoColumnTable,\n} from '../helpers'\n\nimport { getAuditEntryDetails } from '../../helpers'\n\n/**\n * buildAuditPdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} pdfOptions.flags - flags to conditionally render parts of the pdf\n * @param {object} data - pdf data\n * @param {object} data.entity - audit document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @returns {Promise} returns pdfmake definition object\n */\nexport function buildAuditPdf(pdfOptions, data) {\n const { entity, timezone } = data\n const { flags = {} } = pdfOptions\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Audit Report - ${title}`\n\n return generateContent(data, flags)\n .then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Audit',\n ...pdfOptions,\n })\n )\n .catch(err => {\n throw new Error(`BuildAuditPdfError: ${err.message}`)\n })\n}\n\nfunction generateContent(data, flags) {\n const { entity } = data\n\n const {\n footerFields = {},\n gps = {},\n headerFields = {},\n score = {},\n title = 'Unknown',\n } = entity\n\n const entityDetails = getAuditEntryDetails(data)\n\n const {\n gpsText,\n groupedData,\n locationText,\n referenceValue,\n timezoneHourTime,\n scoreText,\n target,\n targetServiceLevel,\n } = entityDetails\n\n const renderTargetFields = !!targetServiceLevel\n const headerTitle = text(title, { style: 'title' })\n const headerScore = text(scoreText, { alignment: 'right', style: 'title' })\n const firstRow = [headerTitle, headerScore]\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n\n let headerSubTitle = text(subTitle, { colSpan: 2, style: 'subTitle' })\n let secondRow = [headerSubTitle]\n\n const reverseGeocoded = gps.reverseGeocoded\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const renderHeaderAddress = !isEmpty(reverseGeocoded)\n const dummyColumn = text(' ', { style: 'small' })\n\n let headerAddress = text(address, { colSpan: 2, style: 'small' })\n const renderThirdRow = renderHeaderAddress || renderTargetFields\n let thirdRow = renderHeaderAddress ? [headerAddress] : []\n\n if (renderTargetFields) {\n headerSubTitle = text(subTitle, { style: 'subTitle' })\n\n const serviceLevelBelow = targetServiceLevel === 'below'\n const serviceLevelText =\n targetServiceLevel === 'above'\n ? 'Above Target'\n : targetServiceLevel === 'on'\n ? 'On Target'\n : targetServiceLevel === 'below'\n ? 'Below Target'\n : ''\n\n const scoreServiceLevelSubTitle = text(serviceLevelText, {\n alignment: 'right',\n style: serviceLevelBelow ? 'serviceLevelBelow' : 'serviceLevelAboveOrOn',\n })\n\n secondRow = [headerSubTitle, scoreServiceLevelSubTitle]\n\n headerAddress = text(address, { style: 'small' })\n\n // TODO: Determine if we always want 2 decimal places or not\n // If so apply `.toFixed(2)`\n const truncatedTargetPercent = round(target, 2)\n\n const scoreTargetText = `(Target - ${truncatedTargetPercent}%)`\n const scoreTargetSubTitle = text(scoreTargetText, {\n alignment: 'right',\n style: 'subTitle',\n })\n\n thirdRow = renderHeaderAddress\n ? [headerAddress, scoreTargetSubTitle]\n : [dummyColumn, scoreTargetSubTitle]\n }\n\n const scoreBreakdown = text(\n `${round(score.actual, 2)} / ${round(score.max, 2)}`,\n {\n alignment: 'right',\n style: 'totalScore',\n }\n )\n const scorePercentage = text(scoreText, {\n alignment: 'right',\n colSpan: 2,\n style: 'totalAuditScore',\n })\n const scoreTitle = text('Total Score', { style: 'totalScore' })\n\n const body = renderThirdRow\n ? [firstRow, secondRow, thirdRow]\n : [firstRow, secondRow]\n\n const titleTable = twoColumnTable({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n widths: ['*', 100],\n })\n\n const totalScoreTable = twoColumnTable({\n body: [[scoreTitle, scoreBreakdown], [scorePercentage]],\n layout: 'noBorders',\n widths: ['*', 100],\n })\n\n const hLineTop = horizontalLine({ margin: [0, 10, 0, 0] })\n const hLineBottom = horizontalLine()\n\n const promises = {\n entry: buildAuditContent(groupedData.items),\n footerTemplate: buildTemplateContent(footerFields.formGroups, data),\n headerTemplate: buildTemplateContent(headerFields.formGroups, data),\n }\n\n return Promise.props(promises)\n .then(({ entry, footerTemplate, headerTemplate }) => {\n return [\n titleTable,\n ...headerTemplate,\n ...entry,\n hLineTop,\n totalScoreTable,\n hLineBottom,\n ...footerTemplate,\n ]\n })\n .catch(err => {\n throw new Error(`GenerateContentError: ${err.message}`)\n })\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/pdf/audit/index.js"],"names":["Promise","isEmpty","round","buildAuditContent","buildAuditFollowUps","buildTemplateContent","generateDefinition","getFormattedAddress","horizontalLine","text","twoColumnTable","getAuditEntryDetails","buildAuditPdf","pdfOptions","data","entity","timezone","console","log","version","sequenceId","timestamp","createdAt","title","fileTitle","generateContent","then","content","type","catch","err","Error","message","followUps","footerFields","gps","headerFields","score","entityDetails","hasFollowUps","gpsText","groupedData","locationText","referenceValue","timezoneHourTime","scoreText","target","targetServiceLevel","renderTargetFields","headerTitle","style","headerScore","alignment","firstRow","subTitle","headerSubTitle","colSpan","secondRow","reverseGeocoded","address","renderHeaderAddress","dummyColumn","headerAddress","renderThirdRow","thirdRow","serviceLevelBelow","serviceLevelText","scoreServiceLevelSubTitle","truncatedTargetPercent","scoreTargetText","scoreTargetSubTitle","scoreBreakdown","actual","max","scorePercentage","scoreTitle","body","titleTable","layout","widths","margin","totalScoreTable","hLineTop","hLineBottom","followUpItems","promises","entry","items","footerTemplate","formGroups","headerTemplate","auditItemsTitle","font","lineHeight","props"],"mappings":"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","sourcesContent":["import Promise from 'bluebird'\nimport { isEmpty, round } from 'lodash'\n\nimport {\n buildAuditContent,\n buildAuditFollowUps,\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n horizontalLine,\n text,\n twoColumnTable,\n} from '../helpers'\n\nimport { getAuditEntryDetails } from '../../helpers'\n\n/**\n * buildAuditPdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} pdfOptions.flags - flags to conditionally render parts of the pdf\n * @param {object} data - pdf data\n * @param {object} data.entity - audit document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @returns {Promise} returns pdfmake definition object\n */\nexport function buildAuditPdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n console.log('buildAuditPdf', {\n version: '4.30.1-canary.3',\n })\n \n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n const fileTitle = `Audit Report - ${title}`\n\n return generateContent(data)\n .then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Audit',\n ...pdfOptions,\n })\n )\n .catch(err => {\n throw new Error(`BuildAuditPdfError: ${err.message}`)\n })\n}\n\nfunction generateContent(data) {\n const { entity } = data\n\n const {\n followUps = [],\n footerFields = {},\n gps = {},\n headerFields = {},\n score = {},\n timezone,\n title = 'Unknown',\n } = entity\n\n const entityDetails = getAuditEntryDetails(data)\n const hasFollowUps = !!entity.followUps\n \n console.log('buildAuditPdf', {\n hasFollowUps,\n })\n\n const {\n gpsText,\n groupedData,\n locationText,\n referenceValue,\n timezoneHourTime,\n scoreText,\n target,\n targetServiceLevel,\n } = entityDetails\n\n const renderTargetFields = !!targetServiceLevel\n const headerTitle = text(title, { style: 'title' })\n const headerScore = text(scoreText, { alignment: 'right', style: 'title' })\n const firstRow = [headerTitle, headerScore]\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n\n let headerSubTitle = text(subTitle, { colSpan: 2, style: 'subTitle' })\n let secondRow = [headerSubTitle]\n\n const reverseGeocoded = gps.reverseGeocoded\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const renderHeaderAddress = !isEmpty(reverseGeocoded)\n const dummyColumn = text(' ', { style: 'small' })\n\n let headerAddress = text(address, { colSpan: 2, style: 'small' })\n const renderThirdRow = renderHeaderAddress || renderTargetFields\n let thirdRow = renderHeaderAddress ? [headerAddress] : []\n\n if (renderTargetFields) {\n headerSubTitle = text(subTitle, { style: 'subTitle' })\n\n const serviceLevelBelow = targetServiceLevel === 'below'\n const serviceLevelText =\n targetServiceLevel === 'above'\n ? 'Above Target'\n : targetServiceLevel === 'on'\n ? 'On Target'\n : targetServiceLevel === 'below'\n ? 'Below Target'\n : ''\n\n const scoreServiceLevelSubTitle = text(serviceLevelText, {\n alignment: 'right',\n style: serviceLevelBelow ? 'serviceLevelBelow' : 'serviceLevelAboveOrOn',\n })\n\n secondRow = [headerSubTitle, scoreServiceLevelSubTitle]\n headerAddress = text(address, { style: 'small' })\n\n const truncatedTargetPercent = round(target, 2)\n const scoreTargetText = `(Target - ${truncatedTargetPercent}%)`\n const scoreTargetSubTitle = text(scoreTargetText, {\n alignment: 'right',\n style: 'subTitle',\n })\n\n thirdRow = renderHeaderAddress\n ? [headerAddress, scoreTargetSubTitle]\n : [dummyColumn, scoreTargetSubTitle]\n }\n\n const scoreBreakdown = text(\n `${round(score.actual, 2)} / ${round(score.max, 2)}`,\n {\n alignment: 'right',\n style: 'totalScore',\n }\n )\n const scorePercentage = text(scoreText, {\n alignment: 'right',\n colSpan: 2,\n style: 'totalAuditScore',\n })\n const scoreTitle = text('Total Score', { style: 'totalScore' })\n\n const body = renderThirdRow\n ? [firstRow, secondRow, thirdRow]\n : [firstRow, secondRow]\n\n const titleTable = twoColumnTable({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n widths: ['*', 100],\n margin: [0, 0, 0, 30],\n })\n\n const totalScoreTable = twoColumnTable({\n body: [[scoreTitle, scoreBreakdown], [scorePercentage]],\n layout: 'noBorders',\n widths: ['*', 100],\n })\n\n const hLineTop = horizontalLine({ margin: [0, 10, 0, 0] })\n const hLineBottom = horizontalLine()\n\n const followUpItems = hasFollowUps\n ? buildAuditFollowUps(followUps, { timezone })\n : []\n\n const promises = {\n entry: buildAuditContent(groupedData.items, { hasFollowUps }),\n footerTemplate: buildTemplateContent(footerFields.formGroups, data),\n headerTemplate: buildTemplateContent(headerFields.formGroups, data),\n }\n\n const auditItemsTitle = hasFollowUps\n ? [\n {\n text: 'Audit Items',\n style: {\n font: 'Gotham',\n lineHeight: 1.1,\n },\n },\n hLineTop,\n ]\n : []\n\n return Promise.props(promises)\n .then(({ entry, footerTemplate, headerTemplate }) => [\n titleTable,\n ...headerTemplate,\n followUpItems,\n ...auditItemsTitle,\n ...entry,\n hLineTop,\n totalScoreTable,\n hLineBottom,\n ...footerTemplate,\n ])\n .catch(err => {\n throw new Error(`GenerateContentError: ${err.message}`)\n })\n}\n"],"file":"index.js"}
|
|
@@ -4,7 +4,8 @@ import Promise from 'bluebird';
|
|
|
4
4
|
import { fetchImage } from '../../../helpers';
|
|
5
5
|
import { fourColumnTable, horizontalLine, imageTables, table, text } from '../';
|
|
6
6
|
import { LIGHT_BLUE, WHITE } from '../table';
|
|
7
|
-
export var buildAuditContent = Promise.method(function (items) {
|
|
7
|
+
export var buildAuditContent = Promise.method(function (items, options) {
|
|
8
|
+
var hasFollowUps = options.hasFollowUps;
|
|
8
9
|
return Promise.map(items, function (group) {
|
|
9
10
|
return Promise.map(group.items, function (item, index) {
|
|
10
11
|
return Promise.map(item.assets, function (_ref) {
|
|
@@ -22,11 +23,17 @@ export var buildAuditContent = Promise.method(function (items) {
|
|
|
22
23
|
var rows = [];
|
|
23
24
|
var fillColor = index % 2 === 0 ? WHITE : LIGHT_BLUE;
|
|
24
25
|
var hasImages = !isEmpty(rowImages);
|
|
25
|
-
var hasComments = !isEmpty(item.comments);
|
|
26
|
-
|
|
26
|
+
var hasComments = !isEmpty(item.comments); // Some audits use questionId to link a follow up issue and its question
|
|
27
|
+
|
|
28
|
+
var label = hasFollowUps ? {
|
|
29
|
+
text: item.label,
|
|
30
|
+
fillColor: fillColor,
|
|
31
|
+
id: item.questionId
|
|
32
|
+
} : {
|
|
27
33
|
text: item.label,
|
|
28
34
|
fillColor: fillColor
|
|
29
|
-
}
|
|
35
|
+
};
|
|
36
|
+
rows.push([label, {
|
|
30
37
|
text: item.scoreLabel,
|
|
31
38
|
fillColor: fillColor
|
|
32
39
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/pdf/helpers/build-audit-content/index.js"],"names":["flatten","isEmpty","round","Promise","fetchImage","fourColumnTable","horizontalLine","imageTables","table","text","LIGHT_BLUE","WHITE","buildAuditContent","method","items","map","group","item","index","assets","assetUrl","link","then","base64String","alignment","fit","image","rowImages","rows","fillColor","hasImages","hasComments","comments","
|
|
1
|
+
{"version":3,"sources":["../../../../src/pdf/helpers/build-audit-content/index.js"],"names":["flatten","isEmpty","round","Promise","fetchImage","fourColumnTable","horizontalLine","imageTables","table","text","LIGHT_BLUE","WHITE","buildAuditContent","method","items","options","hasFollowUps","map","group","item","index","assets","assetUrl","link","then","base64String","alignment","fit","image","rowImages","rows","fillColor","hasImages","hasComments","comments","label","id","questionId","push","scoreLabel","weight","scoreWeight","imageRow","colSpan","stack","commentsRow","margin","style","groupTableRows","actual","groupActualScore","max","groupMaximumScore","resultText","groupPercentageResultScore","skipped","groupScoreText","bold","headerText","title","groupHeaderTable","body","layout","widths","groupTableHeader","groupTable","headerRows","hLine"],"mappings":"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","sourcesContent":["import { flatten, isEmpty, round } from 'lodash'\nimport Promise from 'bluebird'\n\nimport { fetchImage } from '../../../helpers'\nimport { fourColumnTable, horizontalLine, imageTables, table, text } from '../'\nimport { LIGHT_BLUE, WHITE } from '../table'\n\nexport const buildAuditContent = Promise.method((items, options) => {\n const { hasFollowUps } = options\n\n return Promise.map(items, group => {\n return Promise.map(group.items, (item, index) => {\n return Promise.map(item.assets, ({ assetUrl, link }) => {\n return fetchImage(assetUrl).then(base64String => ({\n alignment: 'center',\n fit: [210, 210],\n image: base64String,\n link,\n }))\n }).then(rowImages => {\n const rows = []\n\n const fillColor = index % 2 === 0 ? WHITE : LIGHT_BLUE\n const hasImages = !isEmpty(rowImages)\n const hasComments = !isEmpty(item.comments)\n\n // Some audits use questionId to link a follow up issue and its question\n const label = hasFollowUps\n ? { text: item.label, fillColor, id: item.questionId }\n : { text: item.label, fillColor }\n\n rows.push([\n label,\n { text: item.scoreLabel, fillColor },\n { alignment: 'center', text: item.weight, fillColor },\n { alignment: 'right', text: item.scoreWeight, fillColor },\n ])\n\n if (hasImages) {\n const imageRow = [\n {\n colSpan: 4,\n fillColor,\n stack: imageTables(rowImages),\n },\n ]\n\n rows.push(imageRow)\n }\n\n if (hasComments) {\n const commentsRow = [\n {\n colSpan: 4,\n fillColor,\n margin: [0, -10, 0, 0],\n stack: [\n { text: 'Comments:', style: 'commentsHeader' },\n { text: item.comments },\n ],\n },\n ]\n\n rows.push(commentsRow)\n }\n\n return rows\n })\n }).then(groupTableRows => {\n const actual = round(group.groupActualScore, 2)\n const max = round(group.groupMaximumScore, 2)\n const resultText = `${group.groupPercentageResultScore}%`\n\n const { skipped } = group\n\n const groupScoreText = skipped\n ? null\n : text(`${actual} / ${max} (${resultText})`, {\n alignment: 'right',\n bold: true,\n })\n const headerText = text(group.title)\n\n const groupHeaderTable = table({\n body: [[headerText, groupScoreText]],\n layout: 'noBorders',\n style: 'groupHeaderTable',\n widths: ['*', '*'],\n })\n\n const groupTableHeader = [\n text('Question', { bold: true }),\n text('Answer', { bold: true }),\n text('Weight', { alignment: 'center', bold: true }),\n text('Score', { alignment: 'right', bold: true }),\n ]\n\n const groupTable = fourColumnTable({\n headerRows: 0,\n // NOTE: must flatten here as we have arrays of rows\n body: [groupTableHeader, ...flatten(groupTableRows)],\n widths: ['60%', '24%', '8%', '8%'],\n })\n\n const hLine = horizontalLine()\n\n return [groupHeaderTable, hLine, groupTable]\n })\n })\n})\n"],"file":"index.js"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
6
|
+
|
|
7
|
+
import moment from 'moment-timezone';
|
|
8
|
+
import { getStatusDetails, getUserFullName } from '../../../helpers';
|
|
9
|
+
import { defaultStyles, horizontalLine, sixColumnTable } from '../';
|
|
10
|
+
import { launchIcon, internalLinkIcon } from '../../../images'; // Still to do:
|
|
11
|
+
// *. Setup the page breaks, either on the last item here or the first in the next section
|
|
12
|
+
// - I want to do this in a way that avoids orphans, or at least only add a page break if the result looks balanced
|
|
13
|
+
// - If we can work out the page position of the last follow up item then we can determine whether to use a page break or not
|
|
14
|
+
// *. If you're not using the flag then you should make sure that all of the variables necessary have been passed in
|
|
15
|
+
// - If the required data isn't present then you should probably just not process follow up issues for the document
|
|
16
|
+
// - If you establish this at the start you can build it into the `hasFollowUps` flag
|
|
17
|
+
// *. Is there some way that you can setup an override for the pdfmake version used by storybook?
|
|
18
|
+
|
|
19
|
+
var LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io';
|
|
20
|
+
export function buildAuditFollowUps() {
|
|
21
|
+
var rawFollowUpIssues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
22
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
23
|
+
console.log('buildAuditFollowUps', {
|
|
24
|
+
rawFollowUpIssues: rawFollowUpIssues,
|
|
25
|
+
options: options
|
|
26
|
+
});
|
|
27
|
+
var sectionTitle = [{
|
|
28
|
+
text: 'Follow-up Issues',
|
|
29
|
+
style: {
|
|
30
|
+
font: 'Gotham',
|
|
31
|
+
lineHeight: 1.1,
|
|
32
|
+
margin: [0, 0, 0, 50]
|
|
33
|
+
}
|
|
34
|
+
}];
|
|
35
|
+
var sectionDivider = horizontalLine({
|
|
36
|
+
margin: [0, 0, 0, 0]
|
|
37
|
+
});
|
|
38
|
+
var followUpIssues = rawFollowUpIssues.filter(function (item) {
|
|
39
|
+
return !item.errorMessage;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
if (!followUpIssues.length) {
|
|
43
|
+
// Show a `no follow up issues` message if there are no follow up issues
|
|
44
|
+
return [sectionTitle, sectionDivider, {
|
|
45
|
+
text: 'No follow up issues exist for this Audit',
|
|
46
|
+
style: defaultStyles.subTitle,
|
|
47
|
+
margin: [0, 5, 0, 50]
|
|
48
|
+
}];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
var _options$timezone = options.timezone,
|
|
52
|
+
timezone = _options$timezone === void 0 ? 'America/New_York' : _options$timezone;
|
|
53
|
+
var tableBody = [];
|
|
54
|
+
followUpIssues.forEach(function (item) {
|
|
55
|
+
var mappedStatus = getStatusDetails(item.status);
|
|
56
|
+
var status = {
|
|
57
|
+
text: mappedStatus.text.toUpperCase(),
|
|
58
|
+
style: _objectSpread(_objectSpread({}, defaultStyles.small), {}, {
|
|
59
|
+
color: mappedStatus.style.color,
|
|
60
|
+
alignment: 'center'
|
|
61
|
+
})
|
|
62
|
+
};
|
|
63
|
+
var updatedAt = '';
|
|
64
|
+
|
|
65
|
+
if (item.updatedAt) {
|
|
66
|
+
var format = 'MMM D h:mma'; // e.g. Jan 21 12:59am in the Audit timezone
|
|
67
|
+
|
|
68
|
+
updatedAt = moment.tz(item.updatedAt, timezone).format(format);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var link = "".concat(LIGHTHOUSE_BASE_URL, "/reports/issues/").concat(item.issueId);
|
|
72
|
+
var iconLinkCell = launchIcon ? {
|
|
73
|
+
alignment: 'center',
|
|
74
|
+
fit: [8, 8],
|
|
75
|
+
image: launchIcon,
|
|
76
|
+
link: link
|
|
77
|
+
} : {
|
|
78
|
+
text: ''
|
|
79
|
+
}; // TODO Should we use the same icon for an external link as we do for a jump link?
|
|
80
|
+
|
|
81
|
+
var linkToDestination = item.questionId;
|
|
82
|
+
var iconJumpCell = launchIcon ? {
|
|
83
|
+
alignment: 'center',
|
|
84
|
+
fit: [8, 8],
|
|
85
|
+
image: launchIcon,
|
|
86
|
+
linkToDestination: linkToDestination
|
|
87
|
+
} : {
|
|
88
|
+
text: ''
|
|
89
|
+
};
|
|
90
|
+
var assignees = item.assignees || [];
|
|
91
|
+
var assigneeUsername = assignees.length === 0 ? 'Unassigned' : assignees.length === 1 // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here
|
|
92
|
+
? getUserFullName(assignees, 0) : "".concat(assignees.length, " users");
|
|
93
|
+
tableBody.push([iconLinkCell, {
|
|
94
|
+
text: item.issueTitle || '',
|
|
95
|
+
link: link,
|
|
96
|
+
style: 'small',
|
|
97
|
+
image: launchIcon
|
|
98
|
+
}, status, {
|
|
99
|
+
text: assigneeUsername,
|
|
100
|
+
style: 'small'
|
|
101
|
+
}, iconJumpCell, {
|
|
102
|
+
text: item.questionLabel || '',
|
|
103
|
+
style: 'small',
|
|
104
|
+
linkToDestination: linkToDestination
|
|
105
|
+
}, {
|
|
106
|
+
text: updatedAt || '',
|
|
107
|
+
style: 'small',
|
|
108
|
+
alignment: 'right'
|
|
109
|
+
}]);
|
|
110
|
+
});
|
|
111
|
+
var headerText = ['', 'Issue Title', 'Status', 'Assignees', '', 'Audit Question', 'Last Updated'];
|
|
112
|
+
var headerRow = headerText.map(function (text) {
|
|
113
|
+
return {
|
|
114
|
+
text: text,
|
|
115
|
+
style: {
|
|
116
|
+
bold: true,
|
|
117
|
+
font: 'Gotham',
|
|
118
|
+
fontSize: 8,
|
|
119
|
+
alignment: 'left'
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
});
|
|
123
|
+
headerRow[2].alignment = 'center';
|
|
124
|
+
headerRow[6].alignment = 'right';
|
|
125
|
+
var followUpsTable = sixColumnTable({
|
|
126
|
+
body: [headerRow].concat(tableBody),
|
|
127
|
+
style: 'titleTable',
|
|
128
|
+
widths: [6, '*', 55, 55, 6, '*', '18%'],
|
|
129
|
+
margin: [0, 0, 0, 30]
|
|
130
|
+
});
|
|
131
|
+
console.log('buildAuditFollowUps', {
|
|
132
|
+
followUpsTable: followUpsTable
|
|
133
|
+
});
|
|
134
|
+
return [sectionTitle, sectionDivider, followUpsTable];
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/pdf/helpers/build-audit-follow-ups/index.js"],"names":["moment","getStatusDetails","getUserFullName","defaultStyles","horizontalLine","sixColumnTable","launchIcon","internalLinkIcon","LIGHTHOUSE_BASE_URL","buildAuditFollowUps","rawFollowUpIssues","options","console","log","sectionTitle","text","style","font","lineHeight","margin","sectionDivider","followUpIssues","filter","item","errorMessage","length","subTitle","timezone","tableBody","forEach","mappedStatus","status","toUpperCase","small","color","alignment","updatedAt","format","tz","link","issueId","iconLinkCell","fit","image","linkToDestination","questionId","iconJumpCell","assignees","assigneeUsername","push","issueTitle","questionLabel","headerText","headerRow","map","bold","fontSize","followUpsTable","body","widths"],"mappings":";;;;;;AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AACA,SAASC,gBAAT,EAA2BC,eAA3B,QAAkD,kBAAlD;AACA,SAASC,aAAT,EAAwBC,cAAxB,EAAwCC,cAAxC,QAA8D,KAA9D;AACA,SAASC,UAAT,EAAqBC,gBAArB,QAA6C,iBAA7C,C,CACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,mBAAmB,GAAG,2BAA5B;AAEA,OAAO,SAASC,mBAAT,GAAmE;AAAA,MAAtCC,iBAAsC,uEAAlB,EAAkB;AAAA,MAAdC,OAAc,uEAAJ,EAAI;AACxEC,EAAAA,OAAO,CAACC,GAAR,CAAY,qBAAZ,EAAmC;AACjCH,IAAAA,iBAAiB,EAAjBA,iBADiC;AAEjCC,IAAAA,OAAO,EAAPA;AAFiC,GAAnC;AAKA,MAAMG,YAAY,GAAG,CACnB;AACEC,IAAAA,IAAI,EAAE,kBADR;AAEEC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAE,QADD;AAELC,MAAAA,UAAU,EAAE,GAFP;AAGLC,MAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,EAAV;AAHH;AAFT,GADmB,CAArB;AAUA,MAAMC,cAAc,GAAGhB,cAAc,CAAC;AAAEe,IAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV;AAAV,GAAD,CAArC;AAEA,MAAME,cAAc,GAAGX,iBAAiB,CAACY,MAAlB,CAAyB,UAAAC,IAAI;AAAA,WAAI,CAACA,IAAI,CAACC,YAAV;AAAA,GAA7B,CAAvB;;AACA,MAAI,CAACH,cAAc,CAACI,MAApB,EAA4B;AAC1B;AACA,WAAO,CACLX,YADK,EAELM,cAFK,EAGL;AACEL,MAAAA,IAAI,EAAE,0CADR;AAEEC,MAAAA,KAAK,EAAEb,aAAa,CAACuB,QAFvB;AAGEP,MAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,EAAV;AAHV,KAHK,CAAP;AASD;;AA9BuE,0BAgC9BR,OAhC8B,CAgChEgB,QAhCgE;AAAA,MAgChEA,QAhCgE,kCAgCrD,kBAhCqD;AAiCxE,MAAMC,SAAS,GAAG,EAAlB;AACAP,EAAAA,cAAc,CAACQ,OAAf,CAAuB,UAAAN,IAAI,EAAI;AAC7B,QAAMO,YAAY,GAAG7B,gBAAgB,CAACsB,IAAI,CAACQ,MAAN,CAArC;AACA,QAAMA,MAAM,GAAG;AACbhB,MAAAA,IAAI,EAAEe,YAAY,CAACf,IAAb,CAAkBiB,WAAlB,EADO;AAEbhB,MAAAA,KAAK,kCACAb,aAAa,CAAC8B,KADd;AAEHC,QAAAA,KAAK,EAAEJ,YAAY,CAACd,KAAb,CAAmBkB,KAFvB;AAGHC,QAAAA,SAAS,EAAE;AAHR;AAFQ,KAAf;AASA,QAAIC,SAAS,GAAG,EAAhB;;AACA,QAAIb,IAAI,CAACa,SAAT,EAAoB;AAClB,UAAMC,MAAM,GAAG,aAAf,CADkB,CACW;;AAC7BD,MAAAA,SAAS,GAAGpC,MAAM,CAACsC,EAAP,CAAUf,IAAI,CAACa,SAAf,EAA0BT,QAA1B,EAAoCU,MAApC,CAA2CA,MAA3C,CAAZ;AACD;;AAED,QAAME,IAAI,aAAM/B,mBAAN,6BAA4Ce,IAAI,CAACiB,OAAjD,CAAV;AACA,QAAMC,YAAY,GAAGnC,UAAU,GAC3B;AAAE6B,MAAAA,SAAS,EAAE,QAAb;AAAuBO,MAAAA,GAAG,EAAE,CAAC,CAAD,EAAI,CAAJ,CAA5B;AAAoCC,MAAAA,KAAK,EAAErC,UAA3C;AAAuDiC,MAAAA,IAAI,EAAJA;AAAvD,KAD2B,GAE3B;AAAExB,MAAAA,IAAI,EAAE;AAAR,KAFJ,CAlB6B,CAsB7B;;AACA,QAAM6B,iBAAiB,GAAGrB,IAAI,CAACsB,UAA/B;AACA,QAAMC,YAAY,GAAGxC,UAAU,GAC3B;AACE6B,MAAAA,SAAS,EAAE,QADb;AAEEO,MAAAA,GAAG,EAAE,CAAC,CAAD,EAAI,CAAJ,CAFP;AAGEC,MAAAA,KAAK,EAAErC,UAHT;AAIEsC,MAAAA,iBAAiB,EAAjBA;AAJF,KAD2B,GAO3B;AAAE7B,MAAAA,IAAI,EAAE;AAAR,KAPJ;AASA,QAAMgC,SAAS,GAAGxB,IAAI,CAACwB,SAAL,IAAkB,EAApC;AACA,QAAMC,gBAAgB,GAAGD,SAAS,CAACtB,MAAV,KAAqB,CAArB,GACrB,YADqB,GAErBsB,SAAS,CAACtB,MAAV,KAAqB,CAArB,CACF;AADE,MAEEvB,eAAe,CAAC6C,SAAD,EAAY,CAAZ,CAFjB,aAGKA,SAAS,CAACtB,MAHf,WAFJ;AAOAG,IAAAA,SAAS,CAACqB,IAAV,CAAe,CACbR,YADa,EAEb;AAAE1B,MAAAA,IAAI,EAAEQ,IAAI,CAAC2B,UAAL,IAAmB,EAA3B;AAA+BX,MAAAA,IAAI,EAAJA,IAA/B;AAAqCvB,MAAAA,KAAK,EAAE,OAA5C;AAAqD2B,MAAAA,KAAK,EAAErC;AAA5D,KAFa,EAGbyB,MAHa,EAIb;AAAEhB,MAAAA,IAAI,EAAEiC,gBAAR;AAA0BhC,MAAAA,KAAK,EAAE;AAAjC,KAJa,EAKb8B,YALa,EAMb;AAAE/B,MAAAA,IAAI,EAAEQ,IAAI,CAAC4B,aAAL,IAAsB,EAA9B;AAAkCnC,MAAAA,KAAK,EAAE,OAAzC;AAAkD4B,MAAAA,iBAAiB,EAAjBA;AAAlD,KANa,EAOb;AAAE7B,MAAAA,IAAI,EAAEqB,SAAS,IAAI,EAArB;AAAyBpB,MAAAA,KAAK,EAAE,OAAhC;AAAyCmB,MAAAA,SAAS,EAAE;AAApD,KAPa,CAAf;AASD,GAlDD;AAoDA,MAAMiB,UAAU,GAAG,CACjB,EADiB,EAEjB,aAFiB,EAGjB,QAHiB,EAIjB,WAJiB,EAKjB,EALiB,EAMjB,gBANiB,EAOjB,cAPiB,CAAnB;AASA,MAAMC,SAAS,GAAGD,UAAU,CAACE,GAAX,CAAe,UAAAvC,IAAI;AAAA,WAAK;AACxCA,MAAAA,IAAI,EAAJA,IADwC;AAExCC,MAAAA,KAAK,EAAE;AACLuC,QAAAA,IAAI,EAAE,IADD;AAELtC,QAAAA,IAAI,EAAE,QAFD;AAGLuC,QAAAA,QAAQ,EAAE,CAHL;AAILrB,QAAAA,SAAS,EAAE;AAJN;AAFiC,KAAL;AAAA,GAAnB,CAAlB;AASAkB,EAAAA,SAAS,CAAC,CAAD,CAAT,CAAalB,SAAb,GAAyB,QAAzB;AACAkB,EAAAA,SAAS,CAAC,CAAD,CAAT,CAAalB,SAAb,GAAyB,OAAzB;AAEA,MAAMsB,cAAc,GAAGpD,cAAc,CAAC;AACpCqD,IAAAA,IAAI,GAAGL,SAAH,SAAiBzB,SAAjB,CADgC;AAEpCZ,IAAAA,KAAK,EAAE,YAF6B;AAGpC2C,IAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,GAAJ,EAAS,EAAT,EAAa,EAAb,EAAiB,CAAjB,EAAoB,GAApB,EAAyB,KAAzB,CAH4B;AAIpCxC,IAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,EAAV;AAJ4B,GAAD,CAArC;AAOAP,EAAAA,OAAO,CAACC,GAAR,CAAY,qBAAZ,EAAmC;AACjC4C,IAAAA,cAAc,EAAdA;AADiC,GAAnC;AAIA,SAAO,CAAC3C,YAAD,EAAeM,cAAf,EAA+BqC,cAA/B,CAAP;AACD","sourcesContent":["import moment from 'moment-timezone'\nimport { getStatusDetails, getUserFullName } from '../../../helpers'\nimport { defaultStyles, horizontalLine, sixColumnTable } from '../'\nimport { launchIcon, internalLinkIcon } from '../../../images'\n// Still to do:\n// *. Setup the page breaks, either on the last item here or the first in the next section\n// - I want to do this in a way that avoids orphans, or at least only add a page break if the result looks balanced\n// - If we can work out the page position of the last follow up item then we can determine whether to use a page break or not\n// *. If you're not using the flag then you should make sure that all of the variables necessary have been passed in\n// - If the required data isn't present then you should probably just not process follow up issues for the document\n// - If you establish this at the start you can build it into the `hasFollowUps` flag\n// *. Is there some way that you can setup an override for the pdfmake version used by storybook?\n\nconst LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io'\n\nexport function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {\n console.log('buildAuditFollowUps', {\n rawFollowUpIssues,\n options,\n })\n\n const sectionTitle = [\n {\n text: 'Follow-up Issues',\n style: {\n font: 'Gotham',\n lineHeight: 1.1,\n margin: [0, 0, 0, 50],\n },\n },\n ]\n const sectionDivider = horizontalLine({ margin: [0, 0, 0, 0] })\n\n const followUpIssues = rawFollowUpIssues.filter(item => !item.errorMessage)\n if (!followUpIssues.length) {\n // Show a `no follow up issues` message if there are no follow up issues\n return [\n sectionTitle,\n sectionDivider,\n {\n text: 'No follow up issues exist for this Audit',\n style: defaultStyles.subTitle,\n margin: [0, 5, 0, 50],\n },\n ]\n }\n\n const { timezone = 'America/New_York' } = options\n const tableBody = []\n followUpIssues.forEach(item => {\n const mappedStatus = getStatusDetails(item.status)\n const status = {\n text: mappedStatus.text.toUpperCase(),\n style: {\n ...defaultStyles.small,\n color: mappedStatus.style.color,\n alignment: 'center',\n },\n }\n\n let updatedAt = ''\n if (item.updatedAt) {\n const format = 'MMM D h:mma' // e.g. Jan 21 12:59am in the Audit timezone\n updatedAt = moment.tz(item.updatedAt, timezone).format(format)\n }\n\n const link = `${LIGHTHOUSE_BASE_URL}/reports/issues/${item.issueId}`\n const iconLinkCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: launchIcon, link }\n : { text: '' }\n\n // TODO Should we use the same icon for an external link as we do for a jump link?\n const linkToDestination = item.questionId\n const iconJumpCell = launchIcon\n ? {\n alignment: 'center',\n fit: [8, 8],\n image: launchIcon,\n linkToDestination,\n }\n : { text: '' }\n\n const assignees = item.assignees || []\n const assigneeUsername = assignees.length === 0\n ? 'Unassigned'\n : assignees.length === 1\n // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here\n ? getUserFullName(assignees, 0)\n : `${assignees.length} users`\n \n tableBody.push([\n iconLinkCell,\n { text: item.issueTitle || '', link, style: 'small', image: launchIcon },\n status,\n { text: assigneeUsername, style: 'small' },\n iconJumpCell,\n { text: item.questionLabel || '', style: 'small', linkToDestination },\n { text: updatedAt || '', style: 'small', alignment: 'right' },\n ])\n })\n\n const headerText = [\n '',\n 'Issue Title',\n 'Status',\n 'Assignees',\n '',\n 'Audit Question',\n 'Last Updated',\n ]\n const headerRow = headerText.map(text => ({\n text,\n style: {\n bold: true,\n font: 'Gotham',\n fontSize: 8,\n alignment: 'left',\n },\n }))\n headerRow[2].alignment = 'center'\n headerRow[6].alignment = 'right'\n\n const followUpsTable = sixColumnTable({\n body: [headerRow, ...tableBody],\n style: 'titleTable',\n widths: [6, '*', 55, 55, 6, '*', '18%'],\n margin: [0, 0, 0, 30],\n })\n\n console.log('buildAuditFollowUps', {\n followUpsTable,\n })\n\n return [sectionTitle, sectionDivider, followUpsTable]\n}\n"],"file":"index.js"}
|
package/lib/pdf/helpers/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { buildAuditContent } from './build-audit-content';
|
|
2
|
+
export { buildAuditFollowUps } from './build-audit-follow-ups';
|
|
2
3
|
export { buildLocationScansContent, buildLocationScansBoundaries } from './build-location-scans-content';
|
|
3
4
|
export { buildTemplateContent } from './build-template-content';
|
|
4
5
|
export { defaultFooter } from './default-footer';
|
|
@@ -10,6 +11,6 @@ export { generateDefinition } from './generate-definition';
|
|
|
10
11
|
export { horizontalLine } from './horizontal-line';
|
|
11
12
|
export { convertToPdfMake, getStyleAttributes, parseHtml, toPdf } from './html-transformer';
|
|
12
13
|
export { parseValue } from './parse-value';
|
|
13
|
-
export { fourColumnTable, imageTables,
|
|
14
|
+
export { fourColumnTable, imageTables, sixColumnTable, summaryFieldsTable, summaryStatTable, summaryWrapperTable, table, threeColumnTable, twoColumnTable, zebraFillColor } from './table';
|
|
14
15
|
export { text } from './text';
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/pdf/helpers/index.js"],"names":["buildAuditContent","buildLocationScansContent","buildLocationScansBoundaries","buildTemplateContent","defaultFooter","defaultHeader","defaultStyles","buildSummaryField","buildTemplateFieldRow","getFormattedAddress","generateDefinition","horizontalLine","convertToPdfMake","getStyleAttributes","parseHtml","toPdf","parseValue","fourColumnTable","imageTables","
|
|
1
|
+
{"version":3,"sources":["../../../src/pdf/helpers/index.js"],"names":["buildAuditContent","buildAuditFollowUps","buildLocationScansContent","buildLocationScansBoundaries","buildTemplateContent","defaultFooter","defaultHeader","defaultStyles","buildSummaryField","buildTemplateFieldRow","getFormattedAddress","generateDefinition","horizontalLine","convertToPdfMake","getStyleAttributes","parseHtml","toPdf","parseValue","fourColumnTable","imageTables","sixColumnTable","summaryFieldsTable","summaryStatTable","summaryWrapperTable","table","threeColumnTable","twoColumnTable","zebraFillColor","text"],"mappings":"AAAA,SAASA,iBAAT,QAAkC,uBAAlC;AACA,SAASC,mBAAT,QAAoC,0BAApC;AACA,SACEC,yBADF,EAEEC,4BAFF,QAGO,gCAHP;AAIA,SAASC,oBAAT,QAAqC,0BAArC;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,iBAAT,EAA4BC,qBAA5B,QAAyD,UAAzD;AACA,SAASC,mBAAT,QAAoC,2BAApC;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SACEC,gBADF,EAEEC,kBAFF,EAGEC,SAHF,EAIEC,KAJF,QAKO,oBALP;AAMA,SAASC,UAAT,QAA2B,eAA3B;AACA,SACEC,eADF,EAEEC,WAFF,EAGEC,cAHF,EAIEC,kBAJF,EAKEC,gBALF,EAMEC,mBANF,EAOEC,KAPF,EAQEC,gBARF,EASEC,cATF,EAUEC,cAVF,QAWO,SAXP;AAYA,SAASC,IAAT,QAAqB,QAArB","sourcesContent":["export { buildAuditContent } from './build-audit-content'\nexport { buildAuditFollowUps } from './build-audit-follow-ups'\nexport {\n buildLocationScansContent,\n buildLocationScansBoundaries,\n} from './build-location-scans-content'\nexport { buildTemplateContent } from './build-template-content'\nexport { defaultFooter } from './default-footer'\nexport { defaultHeader } from './default-header'\nexport { defaultStyles } from './default-styles'\nexport { buildSummaryField, buildTemplateFieldRow } from './fields'\nexport { getFormattedAddress } from './format-location-address'\nexport { generateDefinition } from './generate-definition'\nexport { horizontalLine } from './horizontal-line'\nexport {\n convertToPdfMake,\n getStyleAttributes,\n parseHtml,\n toPdf,\n} from './html-transformer'\nexport { parseValue } from './parse-value'\nexport {\n fourColumnTable,\n imageTables,\n sixColumnTable,\n summaryFieldsTable,\n summaryStatTable,\n summaryWrapperTable,\n table,\n threeColumnTable,\n twoColumnTable,\n zebraFillColor,\n} from './table'\nexport { text } from './text'\n"],"file":"index.js"}
|
|
@@ -265,6 +265,12 @@ export function fourColumnTable(options) {
|
|
|
265
265
|
});
|
|
266
266
|
return table(tableOptions);
|
|
267
267
|
}
|
|
268
|
+
export function sixColumnTable(options) {
|
|
269
|
+
var tableOptions = defaults({}, options, {
|
|
270
|
+
widths: ['16.7%', '16.66%', '16.66%', '16.66%', '16.66%', '16.66%']
|
|
271
|
+
});
|
|
272
|
+
return table(tableOptions);
|
|
273
|
+
}
|
|
268
274
|
export function zebraFillColor(index) {
|
|
269
275
|
return index % 2 === 0 ? WHITE : LIGHT_BLUE;
|
|
270
276
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/pdf/helpers/table/index.js"],"names":["chunk","concat","defaults","fill","map","slice","take","Promise","DEFAULT_IMAGE_COLUMN_LENGTH","DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH","buildSummaryField","text","defaultLayout","fillColor","zebraFillColor","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","GRAY","LIGHT_BLUE","WHITE","imageTables","images","imageRows","tables","imageRow","index","defaultRow","Array","row","length","isMiddleRow","margin","headerRows","table","body","widths","layout","hLineColor","vLineColor","summaryFieldsTable","fields","settings","timezone","tableHeader","label","bold","fontSize","defaultHeaders","field","tableRow","headers","summaryFieldTable","colSpan","dontBreakRows","summaryStatTable","options","tableOptions","summaryWrapperTable","style","definition","twoColumnTable","threeColumnTable","fourColumnTable"],"mappings":"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","sourcesContent":["import { chunk, concat, defaults, fill, map, slice, take } from 'lodash'\nimport Promise from 'bluebird'\n\nimport {\n DEFAULT_IMAGE_COLUMN_LENGTH,\n DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH,\n} from '../../../constants'\nimport { buildSummaryField, text } from '../'\n\nconst defaultLayout = {\n fillColor: zebraFillColor,\n hLineWidth: () => 0,\n paddingLeft: () => 5,\n paddingRight: () => 5,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineWidth: () => 0,\n}\n\nexport const GRAY = '#DDDDDD'\nexport const LIGHT_BLUE = '#F0FBFF'\nexport const WHITE = '#FFFFFF'\n\nexport function imageTables(images) {\n const imageRows = chunk(images, DEFAULT_IMAGE_COLUMN_LENGTH)\n const tables = map(imageRows, (imageRow, index) => {\n const defaultRow = fill(Array(DEFAULT_IMAGE_COLUMN_LENGTH), { text: '' })\n const row = concat(imageRow, slice(defaultRow, imageRow.length))\n\n const isMiddleRow = index !== 1 && index !== imageRows.length\n const margin = isMiddleRow ? 5 : 0\n\n return [\n {\n headerRows: 0,\n table: {\n body: [[...row]],\n widths: ['*', '*'],\n },\n layout: {\n hLineColor: () => GRAY,\n hLineWidth: () => 1,\n paddingLeft: () => 5,\n paddingRight: () => 5,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineColor: () => GRAY,\n vLineWidth: () => 1,\n },\n margin: [0, margin, 0, margin],\n },\n ]\n })\n\n return tables\n}\n\nexport async function summaryFieldsTable({ fields, settings, timezone }) {\n const tableHeader = map(fields, ({ label }) =>\n text(label, { bold: true, fontSize: 7 })\n )\n const defaultHeaders = fill(Array(DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH), {\n text: '',\n })\n const defaultRow = fill(Array(DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH), {\n text: '',\n })\n const tableRow = await Promise.map(fields, field =>\n buildSummaryField({ field, settings, timezone })\n )\n\n // NOTE: a user can only select three summary fields on the template however\n // if the form group is repeatable we could have more than the default\n // summary field column length so cap otherwise pdf will fail to generate\n const headers = take(\n concat(tableHeader, slice(defaultHeaders, tableHeader.length)),\n DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH\n )\n const row = take(\n concat(tableRow, slice(defaultRow, tableRow.length)),\n DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH\n )\n\n const summaryFieldTable = table({\n body: [headers, row],\n colSpan: 5,\n dontBreakRows: true,\n headerRows: 0,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 5,\n paddingTop: () => 2,\n paddingBottom: () => 2,\n vLineWidth: () => 0,\n },\n // NOTE: pdfmake applies margin/padding to nested tables\n margin: [0, -5, 0, 0],\n widths: ['*', '*', '*'],\n })\n\n return summaryFieldTable\n}\n\nexport function summaryStatTable(options) {\n const tableOptions = defaults({}, options, {\n layout: {\n fillColor: LIGHT_BLUE,\n hLineWidth: () => 0,\n paddingLeft: () => 10,\n paddingRight: () => 10,\n paddingTop: () => 2,\n paddingBottom: () => 2,\n vLineWidth: () => 0,\n },\n widths: ['*'],\n })\n\n return table(tableOptions)\n}\n\nexport function summaryWrapperTable(options) {\n const tableOptions = defaults({}, options, {\n layout: {\n fillColor: WHITE,\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 10,\n paddingTop: () => 0,\n paddingBottom: () => 0,\n vLineWidth: () => 0,\n },\n style: 'summaryWrapperTable',\n })\n\n return table(tableOptions)\n}\n\nexport function table(options) {\n const {\n body,\n colSpan,\n dontBreakRows = false,\n headerRows = 1,\n layout = defaultLayout,\n style = 'table',\n margin,\n widths,\n } = options\n\n const definition = {\n colSpan,\n layout,\n style,\n table: {\n body,\n // NOTE: be wary of this feature, if a row spans multiple pages it won't\n // be drawn on to the pdf, only pass true here when row will be less than\n // a page\n dontBreakRows,\n headerRows,\n },\n margin,\n }\n\n // NOTE: only adds widths if passed\n // as otherwise pdfmake will error!\n // if none defined it auto calculates\n if (widths) {\n definition.table.widths = widths\n }\n\n return definition\n}\n\nexport function twoColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['50%', '50%'],\n })\n return table(tableOptions)\n}\n\nexport function threeColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['33%', '33%', '*'],\n })\n return table(tableOptions)\n}\n\nexport function fourColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['25%', '25%', '25%', '25%'],\n })\n\n return table(tableOptions)\n}\n\nexport function zebraFillColor(index) {\n return index % 2 === 0 ? WHITE : LIGHT_BLUE\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/pdf/helpers/table/index.js"],"names":["chunk","concat","defaults","fill","map","slice","take","Promise","DEFAULT_IMAGE_COLUMN_LENGTH","DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH","buildSummaryField","text","defaultLayout","fillColor","zebraFillColor","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","GRAY","LIGHT_BLUE","WHITE","imageTables","images","imageRows","tables","imageRow","index","defaultRow","Array","row","length","isMiddleRow","margin","headerRows","table","body","widths","layout","hLineColor","vLineColor","summaryFieldsTable","fields","settings","timezone","tableHeader","label","bold","fontSize","defaultHeaders","field","tableRow","headers","summaryFieldTable","colSpan","dontBreakRows","summaryStatTable","options","tableOptions","summaryWrapperTable","style","definition","twoColumnTable","threeColumnTable","fourColumnTable","sixColumnTable"],"mappings":"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","sourcesContent":["import { chunk, concat, defaults, fill, map, slice, take } from 'lodash'\nimport Promise from 'bluebird'\n\nimport {\n DEFAULT_IMAGE_COLUMN_LENGTH,\n DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH,\n} from '../../../constants'\nimport { buildSummaryField, text } from '../'\n\nconst defaultLayout = {\n fillColor: zebraFillColor,\n hLineWidth: () => 0,\n paddingLeft: () => 5,\n paddingRight: () => 5,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineWidth: () => 0,\n}\n\nexport const GRAY = '#DDDDDD'\nexport const LIGHT_BLUE = '#F0FBFF'\nexport const WHITE = '#FFFFFF'\n\nexport function imageTables(images) {\n const imageRows = chunk(images, DEFAULT_IMAGE_COLUMN_LENGTH)\n const tables = map(imageRows, (imageRow, index) => {\n const defaultRow = fill(Array(DEFAULT_IMAGE_COLUMN_LENGTH), { text: '' })\n const row = concat(imageRow, slice(defaultRow, imageRow.length))\n\n const isMiddleRow = index !== 1 && index !== imageRows.length\n const margin = isMiddleRow ? 5 : 0\n\n return [\n {\n headerRows: 0,\n table: {\n body: [[...row]],\n widths: ['*', '*'],\n },\n layout: {\n hLineColor: () => GRAY,\n hLineWidth: () => 1,\n paddingLeft: () => 5,\n paddingRight: () => 5,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineColor: () => GRAY,\n vLineWidth: () => 1,\n },\n margin: [0, margin, 0, margin],\n },\n ]\n })\n\n return tables\n}\n\nexport async function summaryFieldsTable({ fields, settings, timezone }) {\n const tableHeader = map(fields, ({ label }) =>\n text(label, { bold: true, fontSize: 7 })\n )\n const defaultHeaders = fill(Array(DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH), {\n text: '',\n })\n const defaultRow = fill(Array(DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH), {\n text: '',\n })\n const tableRow = await Promise.map(fields, field =>\n buildSummaryField({ field, settings, timezone })\n )\n\n // NOTE: a user can only select three summary fields on the template however\n // if the form group is repeatable we could have more than the default\n // summary field column length so cap otherwise pdf will fail to generate\n const headers = take(\n concat(tableHeader, slice(defaultHeaders, tableHeader.length)),\n DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH\n )\n const row = take(\n concat(tableRow, slice(defaultRow, tableRow.length)),\n DEFAULT_SUMMARY_FIELDS_COLUMN_LENGTH\n )\n\n const summaryFieldTable = table({\n body: [headers, row],\n colSpan: 5,\n dontBreakRows: true,\n headerRows: 0,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 5,\n paddingTop: () => 2,\n paddingBottom: () => 2,\n vLineWidth: () => 0,\n },\n // NOTE: pdfmake applies margin/padding to nested tables\n margin: [0, -5, 0, 0],\n widths: ['*', '*', '*'],\n })\n\n return summaryFieldTable\n}\n\nexport function summaryStatTable(options) {\n const tableOptions = defaults({}, options, {\n layout: {\n fillColor: LIGHT_BLUE,\n hLineWidth: () => 0,\n paddingLeft: () => 10,\n paddingRight: () => 10,\n paddingTop: () => 2,\n paddingBottom: () => 2,\n vLineWidth: () => 0,\n },\n widths: ['*'],\n })\n\n return table(tableOptions)\n}\n\nexport function summaryWrapperTable(options) {\n const tableOptions = defaults({}, options, {\n layout: {\n fillColor: WHITE,\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 10,\n paddingTop: () => 0,\n paddingBottom: () => 0,\n vLineWidth: () => 0,\n },\n style: 'summaryWrapperTable',\n })\n\n return table(tableOptions)\n}\n\nexport function table(options) {\n const {\n body,\n colSpan,\n dontBreakRows = false,\n headerRows = 1,\n layout = defaultLayout,\n style = 'table',\n margin,\n widths,\n } = options\n\n const definition = {\n colSpan,\n layout,\n style,\n table: {\n body,\n // NOTE: be wary of this feature, if a row spans multiple pages it won't\n // be drawn on to the pdf, only pass true here when row will be less than\n // a page\n dontBreakRows,\n headerRows,\n },\n margin,\n }\n\n // NOTE: only adds widths if passed\n // as otherwise pdfmake will error!\n // if none defined it auto calculates\n if (widths) {\n definition.table.widths = widths\n }\n\n return definition\n}\n\nexport function twoColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['50%', '50%'],\n })\n return table(tableOptions)\n}\n\nexport function threeColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['33%', '33%', '*'],\n })\n return table(tableOptions)\n}\n\nexport function fourColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['25%', '25%', '25%', '25%'],\n })\n\n return table(tableOptions)\n}\n\nexport function sixColumnTable(options) {\n const tableOptions = defaults({}, options, {\n widths: ['16.7%', '16.66%', '16.66%', '16.66%', '16.66%', '16.66%'],\n })\n\n return table(tableOptions)\n}\n\nexport function zebraFillColor(index) {\n return index % 2 === 0 ? WHITE : LIGHT_BLUE\n}\n"],"file":"index.js"}
|
package/mise.toml
ADDED
package/package.json
CHANGED
package/.vscode/settings.json
DELETED