{"version":3,"sources":["images/GHCLogo.png","index.js"],"names":["module","exports","App","_this","Object","C_Users_apeasley_source_repos_ReactApps_machinereadablefiles_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","C_Users_apeasley_source_repos_ReactApps_machinereadablefiles_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_Users_apeasley_source_repos_ReactApps_machinereadablefiles_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","state","data","pages","markers","loading","prefix","fetchData","listBlobs","bind","C_Users_apeasley_source_repos_ReactApps_machinereadablefiles_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__","test","instance","_this2","setState","anonymousCredential","AnonymousCredential","pipeline","StorageURL","newPipeline","serviceURL","ServiceURL","concat","containerURL","ContainerURL","fromServiceURL","URLSearchParams","window","location","search","get","listBlobHierarchySegment","Aborter","none","page","maxresults","pageSize","then","res","slice","totalPages","nextMarker","Array","prototype","push","apply","segment","blobItems","blobPrefixes","sortedData","_","orderBy","sorted","map","sort","row","id","Infinity","undefined","properties","toLowerCase","d","desc","blobName","link","react__WEBPACK_IMPORTED_MODULE_6___default","a","createElement","href","_this3","_this$state","dataset","name","alt","src","logo","react_table__WEBPACK_IMPORTED_MODULE_12__","columns","Header","accessor","Cell","renderLink","value","manual","onFetchData","showPagination","defaultPageSize","className","React","Component","render","document","getElementById"],"mappings":"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","file":"static/js/main.99b441f9.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","import React from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport _ from \"lodash\";\r\nimport \"./index.css\";\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport logo from './images/GHCLogo.png';\r\n\r\n// This sample uses React Table\r\n// Check it out at https://react-table.js.org/#/story/readme\r\nimport ReactTable from \"react-table\";\r\nimport \"react-table/react-table.css\";\r\n\r\n// Import Azure Storage Blob SDK\r\nimport { Aborter, ServiceURL, ContainerURL, StorageURL, AnonymousCredential } from \"@azure/storage-blob\";\r\n\r\n// Account name, and the container to list from\r\nconst account = 'transparencyincoverage'\r\nconst container = 'public'\r\n\r\nclass App extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n data: [],\r\n pages: 2,\r\n markers: [],\r\n loading: true,\r\n prefix: \"\"\r\n };\r\n this.fetchData = this.listBlobs.bind(this);\r\n this.test = \"\";\r\n }\r\n \r\n \r\n listBlobs(state, instance) {\r\n // this lists Blobs in pages defined in state.pageSize\r\n this.setState({ loading: true });\r\n \r\n // Use AnonymousCredential since $web container is made a 'public container' \r\n // and does not require authorization\r\n const anonymousCredential = new AnonymousCredential();\r\n const pipeline = StorageURL.newPipeline(anonymousCredential);\r\n \r\n const serviceURL = new ServiceURL(\r\n `https://${account}.blob.core.windows.net`,\r\n pipeline\r\n );\r\n \r\n // If you are using a SAS token, simply append to ContainerURL here. \r\n // We will use anonymous access hence no SAS token\r\n const containerName = container //+ `?st=2018-11-06T06%3A15%3A24Z&se=2019-11-07T06%3A15%3A00Z&sp=rl&sv=2018-03-28&sr=c&sig=4vCT7aInDWRiypkuYlezN8dos0K2h2DvQ0pnNkMJSFs%3D`;\r\n const containerURL = ContainerURL.fromServiceURL(serviceURL, containerName);\r\n \r\n // Fetch the prefix in the query params to browse into folders\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const prefix = urlParams.get('prefix');\r\n\r\n // List objects from Blob storage using the prefix\r\n // Delimiter for virtual directories is a forward slash '/' here\r\n containerURL.listBlobHierarchySegment (\r\n Aborter.none,\r\n \"/\",\r\n state.markers[state.page],\r\n {\r\n maxresults: state.pageSize,\r\n prefix: prefix\r\n }\r\n ).then(res => {\r\n // Store the nextMarker in an array for prev/next buttons only if there are more blobs to show\r\n const markers = state.markers.slice();\r\n var totalPages = state.page+1;\r\n if (res.nextMarker) {\r\n markers[(state.page+1)] = res.nextMarker;\r\n totalPages++;\r\n }\r\n \r\n // Combine the found virtual directories and files\r\n Array.prototype.push.apply(res.segment.blobItems, res.segment.blobPrefixes)\r\n\r\n // This is to sort rows, and handles blobName, contentLength and lastModified time\r\n const sortedData = _.orderBy(\r\n res.segment.blobItems,\r\n state.sorted.map(sort => {\r\n return row => {\r\n if (row[sort.id] === null) {\r\n return -Infinity;\r\n } // TODO: following is a workaround to special case contentLength and lastModified\r\n else if(row[sort.id] === undefined){\r\n if(row.properties === undefined)\r\n {\r\n return -Infinity;\r\n } else {\r\n return row.properties[sort.id];\r\n }\r\n }\r\n return typeof row[sort.id] === \"string\"\r\n ? row[sort.id].toLowerCase()\r\n : row[sort.id];\r\n };\r\n }),\r\n state.sorted.map(d => (d.desc ? \"desc\" : \"asc\"))\r\n );\r\n\r\n // Store the state\r\n this.setState({\r\n data: sortedData,\r\n pages: totalPages,\r\n markers: markers,\r\n loading: false,\r\n prefix: prefix\r\n });\r\n });\r\n }\r\n\r\n // Custom links for various scenarios (handles blobs, directories and go back link)\r\n renderLink(blobName) {\r\n var link;\r\n if(blobName === \"../\")\r\n {\r\n link = \"/\"\r\n }\r\n else if(blobName.slice(-1) === \"/\")\r\n {\r\n link = \"?prefix=\" + blobName\r\n } else {\r\n link = \"/\" + blobName\r\n }\r\n return (\r\n \r\n {blobName}\r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n const { data, pages, markers, loading, prefix } = this.state;\r\n\r\n // If this is a directory view, add a go back link for the root\r\n var dataset = data\r\n if(prefix !== null)\r\n {\r\n dataset = [{name: \"../\"}].concat(dataset);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \"test\"\r\n
\r\n
\r\n
\r\n \r\n \r\n (\r\n this.renderLink(row.value)\r\n )\r\n }\r\n ]}\r\n manual // Do not paginate as we can only list objects in pages from Blob storage\r\n data={dataset}\r\n pages={pages} \r\n markers={markers}\r\n loading={loading} \r\n onFetchData={this.fetchData} \r\n showPagination={false}\r\n defaultPageSize={800}\r\n className=\"-striped -highlight\"\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nrender(, document.getElementById(\"root\"));"],"sourceRoot":""}