{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/blocks/tableBlock/js/tableBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/blocks/marketEmiTableBlock/js/marketEmiTableBlock.js","webpack:///./wool/numberFormatter.js","webpack:///./wool/operatingSystemDetector.js"],"names":["CLS","agGrid","require","TableBlock","element","_this","this","className","arguments","length","undefined","_classCallCheck","$element","$","$agThemeWool","children","numberFormatter","operatingSystemDetector","operatingSystem","getOS","setEmptyMessages","scrollbarWidth","columnDefs","rowData","noRowsTypes","error","empty","noRowsType","OperatingSystemItems","Windows","addClass","setCustomLoadingOverlay","setCustomNoRowsOverlay","setTableData","setGridOptions","loadGrid","gridOptions","api","showLoadingOverlay","on","concat","event","params","data","hideOverlay","find","removeClass","isEmpty","showNoRowsOverlay","updateRowData","key","value","emptyMessage","_","isNil","attr","errorMessage","_this2","CustomLoadingOverlay","prototype","init","eGui","document","createElement","innerHTML","getGui","_this3","CustomNoRowsOverlay","message","errorClass","_this4","domLayout","onGridReady","_event","resizeTable","window","throttle","suppressDragLeaveHidesColumns","context","components","customLoadingOverlay","customNoRowsOverlay","loadingOverlayComponent","noRowsOverlayComponent","extend","eGridDiv","Grid","items","add","resizeRows","resizeColumns","columns","columnApi","getAllColumns","columnIds","map","column","getColId","autoSizeColumns","sumBy","getActualWidth","outerWidth","sizeColumnsToFit","MarketEmiTableBlock","_TableBlock","_callSuper","getTableDataFromApi","_inherits","headerName","field","cellStyle","font-weight","padding","width","maxWidth","lockPosition","valueFormatter","formattedValue","currencyType","toUpperCase","Math","trunc","round","toFixed","currencySymbol","abs","cellClass","formatNumbersWithCommas","headerHeight","url","urlParams","param","ajax","type","dataType","success","response","trigger","NumberFormatter","number","parts","toString","split","replace","join","OperatingSystemDetector","MacOS","Linux","Android","userAgent","navigator","platform","indexOf","iOS","test"],"mappings":"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","file":"block-11.430117f348aedc9992ce.js","sourcesContent":["const NS = 'TableBlock';\nconst CLS = 'tableBlock';\n\nlet agGrid = require('ag-grid-community');\n\nimport { numberFormatter } from '../../../../global/js/wool/numberFormatter';\nimport { operatingSystemDetector } from '../../../../global/js/wool/operatingSystemDetector';\n\nexport class TableBlock {\n\tconstructor(element, className = CLS) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.$agThemeWool = this.$element.children('.ag-theme-wool');\n\t\tthis.numberFormatter = numberFormatter;\n\t\tthis.operatingSystemDetector = operatingSystemDetector;\n\t\tthis.operatingSystem = this.operatingSystemDetector.getOS();\n\n\t\tthis.setEmptyMessages();\n\t\tthis.scrollbarWidth = 8;\n\t\tthis.columnDefs = [];\n\t\tthis.rowData = [];\n\t\tthis.noRowsTypes = {\n\t\t\terror: 'error',\n\t\t\tempty: 'empty'\n\t\t};\n\t\tthis.noRowsType = this.noRowsTypes.empty;\n\n\t\tif(this.operatingSystem === this.operatingSystemDetector.OperatingSystemItems.Windows) {\n\t\t\tthis.$agThemeWool.addClass('ag-theme-windows');\n\t\t\tthis.scrollbarWidth = 17;\n\t\t}\n\n\t\tthis.setCustomLoadingOverlay();\n\t\tthis.setCustomNoRowsOverlay();\n\t\tthis.setTableData();\n\t\tthis.setGridOptions();\n\t\tthis.loadGrid();\n\t\tthis.gridOptions.api.showLoadingOverlay();\n\n\t\tthis.$element.on(`${className}.update`, (event, params) => {\n\t\t\tif(params.data && params.data.length > 0) {\n\t\t\t\tthis.gridOptions.api.hideOverlay();\n\t\t\t\tthis.$element.find('.ag-root').removeClass('ag-root--error');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(params.isEmpty) {\n\t\t\t\t\tthis.noRowsType = this.noRowsTypes.empty;\n\t\t\t\t\tthis.$element.find('.ag-root').removeClass('ag-root--error');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.noRowsType = this.noRowsTypes.error;\n\t\t\t\t\tthis.$element.find('.ag-root').addClass('ag-root--error');\n\t\t\t\t}\n\t\t\t\tthis.gridOptions.api.showNoRowsOverlay();\n\t\t\t}\n\t\t\tthis.updateRowData(params.data);\n\t\t});\n\t}\n\n\t// Sets the generic error messages\n\tsetEmptyMessages() {\n\t\tthis.emptyMessage = !_.isNil(this.$element.attr('data-empty-message')) ? this.$element.attr('data-empty-message') : 'No items loaded';\n\t\tthis.errorMessage = !_.isNil(this.$element.attr('data-error-message')) ? this.$element.attr('data-error-message') : 'Error in loading tableā¦';\n\t}\n\n\tsetCustomLoadingOverlay() {\n\t\tthis.CustomLoadingOverlay = () => {};\n\t\tthis.CustomLoadingOverlay.prototype.init = () => {\n\t\t\tthis.eGui = document.createElement('div');\n\t\t\tthis.eGui.innerHTML = `
`;\n\t\t};\n\n\t\tthis.CustomLoadingOverlay.prototype.getGui = () => {\n\t\t\treturn this.eGui;\n\t\t};\n\t}\n\n\tsetCustomNoRowsOverlay() {\n\t\tthis.CustomNoRowsOverlay = () => {};\n\t\tthis.CustomNoRowsOverlay.prototype.init = () => {\n\t\t\tlet message = this.emptyMessage;\n\t\t\tlet errorClass = this.noRowsType === this.noRowsTypes.error ? 'ag-overlay-loading-center-message--error' : '';\n\t\t\tif(this.noRowsType === this.noRowsTypes.error) {\n\t\t\t\tmessage = this.errorMessage;\n\t\t\t}\n\n\t\t\tthis.eGui = document.createElement('div');\n\t\t\tthis.eGui.innerHTML = ` `;\n\t\t};\n\n\t\tthis.CustomNoRowsOverlay.prototype.getGui = () => {\n\t\t\treturn this.eGui;\n\t\t};\n\t}\n\n\tsetTableData() {\n\t}\n\n\tsetGridOptions(gridOptions = {}) {\n\t\tthis.gridOptions = {\n\t\t\tcolumnDefs: this.columnDefs,\n\t\t\trowData: this.rowData,\n\t\t\tdomLayout: 'autoHeight',\n\t\t\tscrollbarWidth: this.scrollbarWidth,\n\t\t\tonGridReady: (_event) => {\n\t\t\t\tthis.resizeTable();\n\n\t\t\t\t$(window).on('resize', _.throttle(() => {\n\t\t\t\t\tthis.resizeTable();\n\t\t\t\t}, 250));\n\t\t\t},\n\t\t\tsuppressDragLeaveHidesColumns: true,\n\t\t\tcontext: {\n\t\t\t\tnumberFormatter: this.numberFormatter\n\t\t\t},\n\t\t\tcomponents: {\n\t\t\t\tcustomLoadingOverlay: this.CustomLoadingOverlay,\n\t\t\t\tcustomNoRowsOverlay: this.CustomNoRowsOverlay\n\t\t\t},\n\t\t\tloadingOverlayComponent: 'customLoadingOverlay',\n\t\t\tnoRowsOverlayComponent: 'customNoRowsOverlay'\n\t\t};\n\n\t\tthis.gridOptions = _.extend(this.gridOptions, gridOptions);\n\t}\n\n\tloadGrid() {\n\t\tthis.eGridDiv = this.$agThemeWool[0];\n\t\tthis.agGrid = new agGrid.Grid(this.eGridDiv, this.gridOptions);\n\t}\n\n\tupdateRowData(items) {\n\t\tthis.gridOptions.api.updateRowData({\n\t\t\tadd: items\n\t\t});\n\t}\n\n\tresizeTable() {\n\t\tthis.resizeRows();\n\t\tthis.resizeColumns();\n\t}\n\n\tresizeRows() {\n\t}\n\n\tresizeColumns() {\n\t\t// Retrieve column values\n\t\tlet columns = this.gridOptions.columnApi.getAllColumns();\n\n\t\tlet columnIds = _.map(columns, (column) => {\n\t\t\treturn column.getColId();\n\t\t});\n\n\t\t// Autosize the columns\n\t\tthis.gridOptions.columnApi.autoSizeColumns(columnIds);\n\n\t\t// Retrieve the totalWidth of the autosized columns\n\t\tlet totalAutosizedWidth = _.sumBy(columns, (column) => {\n\t\t\treturn column.getActualWidth();\n\t\t});\n\n\t\t// Retreive the totalWidth of the agGrid\n\t\tlet gridWidth = this.$element.outerWidth();\n\n\t\t// Fit the columns when the autosized columns is less than the acutal grid\n\t\tif(totalAutosizedWidth < gridWidth) {\n\t\t\tthis.gridOptions.api.sizeColumnsToFit();\n\t\t}\n\t\telse {\n\t\t\tthis.gridOptions.columnApi.autoSizeColumns(columnIds);\n\t\t}\n\t}\n}\n","const NS = 'MarketEmiTableBlock';\nconst CLS = 'marketEmiTableBlock';\n\nimport { TableBlock } from '../../tableBlock/js/tableBlock';\n\nexport class MarketEmiTableBlock extends TableBlock {\n\tconstructor(element) {\n\t\tsuper(element, CLS);\n\n\t\tthis.api = this.$element.attr('data-api');\n\n\t\tthis.getTableDataFromApi();\n\t}\n\n\tsetTableData() {\n\t\tthis.columnDefs = [\n\t\t\t{\n\t\t\t\theaderName: 'Currency Type',\n\t\t\t\tfield: 'currencyType',\n\t\t\t\tcellStyle: {\n\t\t\t\t\t'font-weight': 500,\n\t\t\t\t\t'padding': 0\n\t\t\t\t},\n\t\t\t\twidth: 60,\n\t\t\t\tmaxWidth: 60,\n\t\t\t\tlockPosition: true\n\t\t\t},\n\t\t\t{\n\t\t\t\theaderName: 'Weight',\n\t\t\t\tfield: 'weight',\n\t\t\t\tvalueFormatter: (params) => {\n\t\t\t\t\tlet formattedValue;\n\t\t\t\t\tlet data = params.data;\n\t\t\t\t\tlet value = params.value;\n\t\t\t\t\tlet currencyType = data.currencyType.toUpperCase();\n\n\t\t\t\t\t// only for USD and AUD, return 0 decimal points\n\t\t\t\t\tif(currencyType === 'AUD' || currencyType === 'USD') {\n\t\t\t\t\t\tformattedValue = Math.trunc(value);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tformattedValue = _.round(value, 2).toFixed(2);\n\t\t\t\t\t}\n\t\t\t\t\t// remove commas\n\t\t\t\t\treturn `${formattedValue} ${data.currencySymbol}Kg`;\n\t\t\t\t},\n\t\t\t\tlockPosition: true\n\t\t\t},\n\t\t\t{\n\t\t\t\theaderName: 'Difference',\n\t\t\t\tfield: 'difference',\n\t\t\t\tvalueFormatter: (params) => {\n\t\t\t\t\tlet data = params.data;\n\t\t\t\t\tlet value = params.value;\n\t\t\t\t\tlet currencyType = data.currencyType.toUpperCase();\n\n\n\t\t\t\t\tif(!_.isNil(value)) {\n\t\t\t\t\t\tif(value < 0) {\n\t\t\t\t\t\t\tif(currencyType === 'AUD' || currencyType === 'USD') {\n\t\t\t\t\t\t\t\treturn `${Math.trunc(value)}${data.currencySymbol}/Kg`;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn `-${_.round(Math.abs(value), 2).toFixed(2)}${data.currencySymbol}/Kg`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(value > 0) {\n\t\t\t\t\t\t\tif(currencyType === 'AUD' || currencyType === 'USD') {\n\t\t\t\t\t\t\t\treturn `+${Math.trunc(value)}${data.currencySymbol}/Kg`;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn `+${_.round(value, 2).toFixed(2)}${data.currencySymbol}/Kg`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn `- ${data.currencySymbol}/Kg`;\n\t\t\t\t},\n\t\t\t\tcellClass: (params) => {\n\t\t\t\t\tlet value = params.value;\n\n\t\t\t\t\tif(!_.isNil(value)) {\n\t\t\t\t\t\tif(value < 0) {\n\t\t\t\t\t\t\treturn `text-red`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(value > 0) {\n\t\t\t\t\t\t\treturn `text-green`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tlockPosition: true\n\t\t\t},\n\t\t\t{\n\t\t\t\theaderName: 'Percentage',\n\t\t\t\tfield: 'percentage',\n\t\t\t\tvalueFormatter: (params) => {\n\t\t\t\t\tlet value = params.value;\n\n\t\t\t\t\tif(!_.isNil(value)) {\n\t\t\t\t\t\tif(value < 0) {\n\t\t\t\t\t\t\treturn `-${this.numberFormatter.formatNumbersWithCommas(_.round(Math.abs(value), 2).toFixed(2))}%`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(value > 0) {\n\t\t\t\t\t\t\treturn `+${this.numberFormatter.formatNumbersWithCommas(_.round(value, 2).toFixed(2))}%`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn `- %`;\n\t\t\t\t},\n\t\t\t\tcellClass: (params) => {\n\t\t\t\t\tlet value = params.value;\n\n\t\t\t\t\tif(!_.isNil(value)) {\n\t\t\t\t\t\tif(value < 0) {\n\t\t\t\t\t\t\treturn `text-red`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(value > 0) {\n\t\t\t\t\t\t\treturn `text-green`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tlockPosition: true\n\t\t\t}\n\t\t];\n\t}\n\n\tsetGridOptions() {\n\t\tsuper.setGridOptions({\n\t\t\theaderHeight: 0\n\t\t});\n\t}\n\n\tgetTableDataFromApi() {\n\t\tlet url = this.api;\n\n\t\tif(!_.isEmpty(this.urlParams)) {\n\t\t\turl += `?${$.param(this.urlParams)}`;\n\t\t}\n\n\t\tif(this.api) {\n\t\t\t$.ajax({\n\t\t\t\ttype: 'GET',\n\t\t\t\turl: url,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: (response) => {\n\t\t\t\t\tif(response && response.length > 0) {\n\t\t\t\t\t\tthis.$element.trigger(`${CLS}.update`, {\n\t\t\t\t\t\t\tdata: response\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.$element.trigger(`${CLS}.update`, {\n\t\t\t\t\t\t\tdata: null,\n\t\t\t\t\t\t\tisEmpty: true\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.$element.trigger(`${CLS}.update`, {\n\t\t\t\t\t\tdata: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tconsole.error(`${NS}::Error`, 'API is not set.');\n\t\t\tthis.$element.trigger(`${CLS}.update`, {\n\t\t\t\tdata: null\n\t\t\t});\n\t\t}\n\t}\n}\n","class NumberFormatter {\n\tformatNumbersWithCommas(number) {\n\t\tlet parts = number.toString().split('.');\n\t\tparts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n\t\treturn parts.join('.');\n\t}\n}\n\nexport let numberFormatter = new NumberFormatter();\n","export class OperatingSystemDetector {\n\tconstructor() {\n\t\tthis.OperatingSystemItems = {\n\t\t\tMacOS: 'MacOS',\n\t\t\tWindows: 'Windows',\n\t\t\tLinux: 'Linux',\n\t\t\tAndroid: 'Android'\n\t\t};\n\t}\n\n\tgetOS() {\n\t\tlet userAgent = window.navigator.userAgent;\n\t\tlet platform = window.navigator.platform;\n\t\tlet macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];\n\t\tlet windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];\n\t\tlet iosPlatforms = ['iPhone', 'iPad', 'iPod'];\n\n\t\tif(macosPlatforms.indexOf(platform) !== -1) {\n\t\t\treturn this.OperatingSystemItems.MacOS;\n\t\t}\n\t\telse if(iosPlatforms.indexOf(platform) !== -1) {\n\t\t\treturn this.OperatingSystemItems.iOS;\n\t\t}\n\t\telse if(windowsPlatforms.indexOf(platform) !== -1) {\n\t\t\treturn this.OperatingSystemItems.Windows;\n\t\t}\n\t\telse if(/Linux/.test(platform)) {\n\t\t\treturn this.OperatingSystemItems.Linux;\n\t\t}\n\t\telse if(/Android/.test(userAgent)) {\n\t\t\treturn this.OperatingSystemItems.Android;\n\t\t}\n\t}\n}\n\nexport let operatingSystemDetector = new OperatingSystemDetector();\n"],"sourceRoot":""}