{"version":3,"sources":["inoMsCanadianScreener.js"],"names":["inovestor","ms","screenercore","screener","config","apiRelativeUrl","apiSectorValuesUrl","apiSlidersMinMaxValuesUrl","criteriaValues","numericOperators","key","value","exchangeCodes","nameEn","nameFr","marketCap","operator","values","min","max","beta","fieldTypes","includeForScreener","resourceKey","id","groupKey","comparerType","displayType","predefinedScreens","sortColumn","sortType","criterias","ForwardDividendYield",">","MarketCap","<","SectorId","PriceToEarRatio.Y1","initialCall","LatestClose","categoryType","serverSide","performInitialSortingServerSide","serverSidePagination","$","ko","services","tableService","corePlugin","_viewModel","self","this","createDataTable","data","redirectUrl","tableOptions","_createColumnNames","columnNames","rows","_createTableRows","columnClasses","_doInitialSort","numPages","length","resultsPerPage","colNames","setColumnNames","serverRows","colClasses","merge","classes","displayRows","i","currentRow","rowObj","mic","ticker","name","columnVisibility","observableArray","index","push","isVisible","j","colObj","type","decimalPlaces","css","valueEn","valueFr","columns","currentCol","serverName","toLowerCase","setColumnHeaderStyling","libRef","jQuery","pluginName","Plugin","element","options","_defaults","fn","inoMsCanadianScreener","defaults","extend","addon","filteredFieldTypes","filter","f","pluginCore","addons","registeredAddons","viewModels","screenerCoreViewModel","shareBaseUrl","forEach","x","extendViewModel","_tableService","setViewModel","setTableService","configurePlugin","init","prototype","viewModel","fileName","canadianScreenerPlugin","fileCacheKey","templatePaths","canadianscreener","filePath","core","isEmptyString","templateRootUrl","match","getTemplate","then","template","$element","html","render","renderAddons","bindModel","bindEvents","when","getSectorsValues","getSliderMinMaxValues","always","openInitialScreener","ui","isNullOrUndefined","inoCdnBaseUrl","jUIScriptUrl","concatUrl","jUIStyleUrl","append","trigger","_name","deferred","Deferred","renderAddon","resolve","fail","error","reject","promise","sliderAllMinMaxValuesAreLoading","observable","sectorValues","sectorValuesAreLoading","sectorValuesAreUnavailable","betaValues","marketCapValues","initialScreenerIsLoading","areFiltersBusy","computed","getCriteriasForComparerType","plugin","canadianPlugin","sectorsValuesApiCall","ajaxApi","contentType","apiErrorHandler","apiBaseUrl","sectorsValues","each","item","capitalizeFirstLetter","loadDefinedScreenerOrDefault","search","console","hasError","sliderAllMinMaxValuesAreUnavailable","sliderFieldsTypes","apiUrl","map","val","sliderMinMaxValues","minMaxValues","fieldType","helper","findFieldTypeByKey","identifier","adapter","fromServer","sliderAllMinMaxValues","sharedQuery","onError","onReady","resources","formLabels","fieldGroupNames","general","investmentreturn","priceratios","pershareratios","managementefficiencyratios","liquidityratios","dividends","tradingandvolume","profitmargins","financials","markets","companies","fundamentals","performance","fieldNames","stockName","exchange","sgSectorCode","returnOnEquity","returnOnCap","returnOnAsset","priceToEarRatio","priceToBook","priceToCFlow","priceToSale","earningsPerShr","salePerShr","dividendPerShr","bookValue","cashFlowAndShr","turnover","debtToEquity","currentRatio","interestCoverage","expectedDividend","expectedDividendYield","divPayout","closeLastWeek","high52Week","low52Week","perf13Week","netProfitMargin","grossMargin","totalRevenue","totalRevenueTtm","yearlyNetIncome","netIncomeTtm","earningsPerShrLatestFiscal","predefinedCriteriaNames","popular","pci52WeeksHigh","pci52WeeksLow","pciHighDivYields","pciBargainStocks","pciBlueChips","pciPriceShockers","pciEnergyGiants","criteriaNames","equal","notEqual","greater","less","greaterOrEqual","lessOrEqual","in","between","equalStr","notEqualStr","startsWithStr","containsStr","where","is","and","or","tsxv","tsx","nasdaq","nyse","amex","pink","otcbb","any","filters","hideFilters","showFilters","addFilters","editFilters","removeFilter","searchCriteria","results","noResultsMessage","noFiltersMessage","unavailableFiltersMessage","hideShowColumns","selectCriteria","amountSelectedMany","amountSelectedSingle","close","dataTableLanguage","decimal","emptyTable","info","infoEmpty","infoFiltered","infoPostFix","thousands","lengthMenu","loadingRecords","processing","zeroRecords","paginate","first","last","next","previous","aria","sortAscending","sortDescending","searchSummaryLabels","start","wildCardError"],"mappings":"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","file":"../inoMsCanadianScreener.min.js","sourcesContent":["; inovestor.ms.screenercore = inovestor.ms.screenercore || {};\n; (function (screenercore, undefined) {\n // Create plugin namespace with any desired config variable\n screenercore.screener = {\n config: {\n apiRelativeUrl: 'stocks/screener',\n apiSectorValuesUrl: 'stocks/sectors',\n apiSlidersMinMaxValuesUrl: 'stocks/allslidersminmax'\n }\n };\n\n})(inovestor.ms.screenercore);\n\n\n; (function (inovestor, undefined) {\n // Create plugin namespace with any desired config variable\n inovestor.ms.screenercore = inovestor.ms.screenercore || {};\n\n inovestor.ms.screenercore.criteriaValues = {\n numericOperators: function () {\n return [\n { key: 'between', value: 'between' },\n ];\n },\n\n exchangeCodes: function () {\n return [\n { key: 'tsxv', value: 'TSXV', nameEn: 'TSXV', nameFr: 'TSXV' },\n { key: 'tsx', value: 'TSX', nameEn: 'TSX', nameFr: 'TSX' }\n ];\n },\n\n marketCap: function () {\n return [\n {\n operator: '<',\n nameEn: 'Small Cap',\n nameFr: 'Petite Cap',\n value: 2000000000\n },\n {\n operator: 'between',\n nameEn: 'Mid Cap',\n nameFr: 'Moyenne Cap',\n values: {\n min: 200000000,\n max: 10000000000\n }\n },\n {\n operator: 'between',\n nameEn: 'Large Cap',\n nameFr: 'Grande Cap',\n values: {\n min: 10000000000,\n max: 100000000000\n }\n },\n {\n operator: '>',\n nameEn: 'Mega Cap',\n nameFr: 'Mega Cap',\n value: 100000000000\n }\n ]\n },\n\n beta: function () {\n return [\n {\n operator: '<',\n nameEn: '< -2',\n nameFr: '< -2',\n value: -2\n },\n {\n operator: 'between',\n nameEn: '-2 to -1',\n nameFr: '-2 à -1',\n values: {\n min: -2,\n max: -1\n }\n },\n {\n operator: 'between',\n nameEn: '-1 to 1',\n nameFr: '-1 à 1',\n values: {\n min: -1,\n max: 1\n }\n },\n {\n operator: 'between',\n nameEn: '1 to 2',\n nameFr: '1 à 2',\n values: {\n min: 1,\n max: 2\n }\n },\n {\n operator: '>',\n nameEn: '> 2',\n nameFr: '> 2',\n value: 2\n }\n ]\n }\n }\n\n})(inovestor);\n\n; (function (inovestor, undefined) {\n inovestor.ms.screenercore = inovestor.ms.screenercore || {};\n\n inovestor.ms.screenercore.fieldTypes = [\n\n { includeForScreener: false, key: 'StockName', resourceKey: 'stockName' },\n { includeForScreener: false, key: 'Symbol', resourceKey: 'name' },\n\n // Markets\n { includeForScreener: true, id: 'ID-MarketIdentificationCode-general', groupKey: 'markets', resourceKey: 'exchange', key: 'Exchange', comparerType: 'exchange', displayType: 'checkboxList' },\n { includeForScreener: true, id: 'ID-CloseLastWeek-general', groupKey: 'markets', resourceKey: 'closeLastWeek', key: 'LatestClose', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-MarketCap-general', groupKey: 'markets', resourceKey: 'marketCap', key: 'MarketCap', comparerType: 'marketCap', displayType: 'buttonListNumeric' },\n { includeForScreener: true, id: 'ID-High52Week-tradingandvolume', groupKey: 'markets', resourceKey: 'high52Week', key: 'High52Week', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-Low52Week-tradingandvolume', groupKey: 'markets', resourceKey: 'low52Week', key: 'Low52Week', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-Beta-tradingandvolume', groupKey: 'markets', resourceKey: 'beta', key: 'Beta', comparerType: 'beta', displayType: 'buttonListNumeric' },\n\n // Companies\n { includeForScreener: true, id: 'ID-SGSectorCode-general', groupKey: 'companies', resourceKey: 'sgSectorCode', key: 'SectorId', comparerType: 'sector', displayType: 'checkboxList' },\n\n // Fundamentals\n { includeForScreener: true, id: 'ID-PriceToEarRatio-priceratios', groupKey: 'fundamentals', resourceKey: 'priceToEarRatio', key: 'PriceToEarRatio.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-PriceToBook-priceratios', groupKey: 'fundamentals', resourceKey: 'priceToBook', key: 'PriceToBook.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-PriceToCFlow-priceratios', groupKey: 'fundamentals', resourceKey: 'priceToCFlow', key: 'PriceToCFlow.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-PriceToSale-priceratios', groupKey: 'fundamentals', resourceKey: 'priceToSale', key: 'PriceToSale.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-SalePerShr-pershareratios', groupKey: 'fundamentals', resourceKey: 'salePerShr', key: 'SalePerShr.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-DividendPerShr-pershareratios', groupKey: 'fundamentals', resourceKey: 'dividendPerShr', key: 'DividendPerShr.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-BookValue-pershareratios', groupKey: 'fundamentals', resourceKey: 'bookValue', key: 'BookValue.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-CashFlowAndShr-pershareratios', groupKey: 'fundamentals', resourceKey: 'cashFlowAndShr', key: 'CashFlowAndShr.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-Turnover-managementefficiencyratios', groupKey: 'fundamentals', resourceKey: 'turnover', key: 'Turnover.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-DebtToEquity-liquidityratios', groupKey: 'fundamentals', resourceKey: 'debtToEquity', key: 'DebtToEquity.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-CurrentRatio-liquidityratios', groupKey: 'fundamentals', resourceKey: 'currentRatio', key: 'CurrentRatio.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-InterestCoverage-liquidityratios', groupKey: 'fundamentals', resourceKey: 'interestCoverage', key: 'InterestCoverage.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-ExpectedDividend-dividends', groupKey: 'fundamentals', resourceKey: 'expectedDividend', key: 'ForwardDividend', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-ExpectedDividendYield-dividends', groupKey: 'fundamentals', resourceKey: 'expectedDividendYield', key: 'ForwardDividendYield', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-DivPayout-dividends', groupKey: 'fundamentals', resourceKey: 'divPayout', key: 'DivPayout.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-NetProfitMargin-profitmargins', groupKey: 'fundamentals', resourceKey: 'netProfitMargin', key: 'NetProfitMargin.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-GrossMargin-profitmargins', groupKey: 'fundamentals', resourceKey: 'grossMargin', key: 'GrosMargin.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-TotalRevenue-Y1-financials', groupKey: 'fundamentals', resourceKey: 'totalRevenue', key: 'TotalRevenue.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-TotalRevenue-TTM-financials', groupKey: 'fundamentals', resourceKey: 'totalRevenueTtm', key: 'Revenue.TTM', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-NetIncome-Y1-financials', groupKey: 'fundamentals', resourceKey: 'yearlyNetIncome', key: 'NetIncome.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-NetIncome-TTM-financials', groupKey: 'fundamentals', resourceKey: 'netIncomeTtm', key: 'NetIncome.TTM', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-EarningsPerShr-financials', groupKey: 'fundamentals', resourceKey: 'earningsPerShrLatestFiscal', key: 'EarningsPerShr.Y1', comparerType: 'numeric', displayType: 'slider' },\n\n // Performance\n { includeForScreener: true, id: 'ID-ReturnOnEquity-investmentreturn', groupKey: 'performance', resourceKey: 'returnOnEquity', key: 'ReturnOnEquity.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-ReturnOnCap-investmentreturn', groupKey: 'performance', resourceKey: 'returnOnCap', key: 'ReturnOnCap.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-ReturnOnAsset-investmentreturn', groupKey: 'performance', resourceKey: 'returnOnAsset', key: 'ReturnOnAsset.Y1', comparerType: 'numeric', displayType: 'slider' },\n { includeForScreener: true, id: 'ID-Perf13Week-tradingandvolume', groupKey: 'performance', resourceKey: 'perf13Week', key: 'Perf13Week', comparerType: 'numeric', displayType: 'slider' }\n\n ];\n\n // Define the predifined criteria here\n inovestor.ms.screenercore.predefinedScreens = [\n {\n resourceKey: 'pciHighDivYields',\n sortColumn: 'ForwardDividendYield',\n sortType: 'desc',\n criterias: {\n 'ForwardDividendYield': { '>': 4 },\n MarketCap: [{ '>': 10000000000, '<': 100000000000 }, { '>': 100000000000 }],\n SectorId: {}\n }\n },\n {\n resourceKey: 'pciBargainStocks',\n sortColumn: 'marketCap',\n sortType: 'desc',\n criterias: {\n 'PriceToEarRatio.Y1': { '<': 15 },\n 'ForwardDividendYield': { '>': 1, '<': 110 },\n SectorId: {},\n MarketCap: {}\n }\n },\n {\n resourceKey: 'pciBlueChips',\n sortColumn: 'marketCap',\n sortType: 'desc',\n criterias: {\n MarketCap: [{ '>': 10000000000, '<': 100000000000 }, { '>': 100000000000 }],\n 'PriceToEarRatio.Y1': { '<': 30 },\n SectorId: {}\n }\n },\n {\n resourceKey: 'pciEnergyGiants',\n sortColumn: 'marketCap',\n sortType: 'desc',\n criterias: {\n MarketCap: [{ '>': 10000000000, '<': 100000000000 }, { '>': 100000000000 }],\n SectorId: 20\n }\n }\n ];\n\n inovestor.ms.screenercore.initialCall =\n {\n sortColumn: 'marketCap',\n sortType: 'desc',\n criterias: {\n MarketCap: {},\n LatestClose: {}\n }\n };\n\n // specify that the type of category is stock\n inovestor.ms.screenercore.categoryType = 'stock';\n\n // Specify that we are not using server side processing\n inovestor.ms.screenercore.serverSide = false;\n inovestor.ms.screenercore.performInitialSortingServerSide = false;\n inovestor.ms.screenercore.serverSidePagination = false;\n\n})(inovestor);\n\n; (function ($, ko, inovestor, undefined) {\n\n inovestor.ms.screenercore = inovestor.ms.screenercore || {};\n inovestor.ms.screenercore.services = {};\n\n inovestor.ms.screenercore.services.tableService = function (corePlugin, _viewModel) {\n\n var self = this;\n self.corePlugin = corePlugin;\n self._viewModel = _viewModel;\n\n self.createDataTable = function (data, redirectUrl, tableOptions) {\n\n // Set the column names\n self._createColumnNames(data.columnNames);\n // Set the rows\n self._viewModel.rows(self._createTableRows(data.values, data.columnClasses));\n // Sort the rows\n self._doInitialSort();\n\n self._viewModel.numPages(data.values.length / self._viewModel.resultsPerPage());\n };\n\n /**\n * Accepts the column names from the server and omits the ones\n * that are not to be displayed in the table.\n * \n * @param {array} colNames - Collection of column names from the server\n */\n self._createColumnNames = function (colNames) {\n // Omit the MIC field\n var micIndex = 0; // Always same order returned by server\n\n self._viewModel.setColumnNames(colNames, [micIndex]);\n };\n\n /**\n * Accepts the column classes and the row data and creates the rows to\n * be displayed in the table.\n * \n * @param {array} serverRows - Collection of values from the server\n * @param {array} colClasses - CSS classes to be applied to the columns\n * @returns {array} - The rows set up to be displayed\n */\n self._createTableRows = function (serverRows, colClasses) {\n var rows = $.merge([], serverRows);\n var classes = $.merge([], colClasses);\n var displayRows = [];\n var nameIndex = 2; // Always same order returned by server\n\n for (var i = 0; i < rows.length; i++) {\n var currentRow = rows[i];\n var rowObj = {};\n\n // Assign the values we know will always be there\n rowObj.mic = currentRow[0];\n rowObj.ticker = currentRow[1];\n rowObj.name = currentRow[2];\n rowObj.data = [];\n rowObj.columnVisibility = ko.observableArray();\n\n for (var index = 0; index < self._viewModel.columnNames().length; index++) {\n rowObj.columnVisibility.push(self._viewModel.columnNames()[index].isVisible);\n }\n\n // Add the rest of the values\n for (var j = 3; j < currentRow.length; j++) {\n var data = currentRow[j];\n var colObj = {};\n\n switch (data.type) {\n case 'numeric':\n colObj = {\n value: data.value,\n decimalPlaces: data.decimalPlaces,\n type: data.type,\n css: classes[j]\n };\n break;\n case 'localizedText':\n colObj = {\n valueEn: data.valueEn,\n valueFr: data.valueFr,\n type: data.type,\n css: classes[j]\n };\n break;\n case 'resourceText':\n colObj = {\n key: data.key,\n type: data.type,\n css: classes[j]\n };\n break;\n case 'text':\n colObj = {\n value: data.value,\n type: data.type,\n css: classes[j]\n };\n break;\n default:\n colObj = {\n value: '-',\n css: classes[j]\n }\n };\n\n\n rowObj.data.push(colObj);\n }\n\n displayRows.push(rowObj);\n }\n\n return displayRows;\n }\n\n /**\n * Does the initial sort for the rows\n */\n self._doInitialSort = function () {\n var sortColumn = self._viewModel.sortColumn();\n var columns = self._viewModel.columnNames();\n\n // Find the index of the column we're sorting by\n var index = -1;\n for (var i = 0; i < columns.length; i++) {\n var currentCol = columns[i];\n\n if (currentCol.serverName && sortColumn && currentCol.serverName.toLowerCase() === sortColumn.toLowerCase()) {\n index = i;\n break;\n }\n }\n\n // Set the column header styling\n if (index >= 0)\n self._viewModel.columnNames()[index].css =\n self._viewModel.sortType() === 'asc' ? 'sorting-desc' : 'sorting-asc';\n\n self._viewModel.setColumnHeaderStyling(index);\n };\n }\n})(inovestor.ms.libRef.jQuery, inovestor.ms.libRef.ko, inovestor, undefined);\n; (function ($, ko, inovestor, undefined) {\n\n var pluginName = 'inoMsCanadianScreener';\n\n // Create the plugin constructor\n function Plugin(element, options) {\n\n this._defaults = $.fn.inoMsCanadianScreener.defaults;\n\n // Merge options with defaults\n this.options = $.extend({}, this._defaults, options);\n this.options.name = pluginName;\n\n var filteredFieldTypes = inovestor.ms.screenercore.fieldTypes.filter(function (f) { return f.includeForScreener === true });\n\n this.corePlugin = new inovestor.ms.screenercore.pluginCore(element, this.options);\n\n this.addons = [];\n for (var addon in this.options.addons) {\n this.addons.push(new inovestor.ms.screenercore.registeredAddons[addon](this, this.options.addons[addon]));\n } \n\n // Plugin extra\n this._viewModel = new inovestor.ms.screenercore.viewModels.screenerCoreViewModel(\n this.options.shareBaseUrl,\n filteredFieldTypes,\n inovestor.ms.screenercore.criteriaValues.numericOperators(),\n this.options.redirectUrl,\n false,\n this.corePlugin\n );\n this.addons.forEach(function (x) { if (x.extendViewModel) x.extendViewModel(this._viewModel); }, this);\n\n this._tableService = new inovestor.ms.screenercore.services.tableService(this.corePlugin, this._viewModel);\n\n this.corePlugin.setViewModel(this._viewModel);\n this.corePlugin.setTableService(this._tableService);\n\n this.configurePlugin(this._viewModel);\n\n // Call init\n this.init(this._viewModel);\n }\n\n // Avoid Plugin.prototype conflicts\n $.extend(Plugin.prototype, {\n // Initialization logic\n init: function (viewModel) {\n var corePlugin = this.corePlugin;\n var canadianScreenerPlugin = this;\n\n // Plugin overrides for template = cacheKey and path are the same\n var fileCacheKey = canadianScreenerPlugin.options.templatePaths.canadianscreener;\n var filePath = canadianScreenerPlugin.options.templatePaths.canadianscreener;\n // Default behavior (if no template path is set by plugin)\n if (inovestor.ms.core.isEmptyString(fileCacheKey)) {\n var fileName = 'screener.html';\n fileCacheKey = 'inoMsScreenerCore' + '.' + fileName;\n filePath = (inovestor.ms.core.isEmptyString(inovestor.ms.core.config.templateRootUrl) ? '' : inovestor.ms.core.config.templateRootUrl) +\n (inovestor.ms.core.isEmptyString(inovestor.ms.core.config.templateRootUrl) || inovestor.ms.core.config.templateRootUrl.match(/\\/$/) != null ? '' : '/') + // check if templateRootUrl ends in slash\n ('inoMsScreenerCore' + '/' + fileName);\n }\n\n // Get main template file\n inovestor.ms.core.getTemplate(fileCacheKey, filePath).then(function (template) {\n corePlugin.$element.html(template);\n corePlugin.render();\n canadianScreenerPlugin.renderAddons(canadianScreenerPlugin.addons, corePlugin.$element).then(function () {\n corePlugin.bindModel();\n corePlugin.bindEvents();\n \n // Get data from API\n $.when(canadianScreenerPlugin.getSectorsValues(), canadianScreenerPlugin.getSliderMinMaxValues()).always(function () {\n // Make a call for initial\n canadianScreenerPlugin.openInitialScreener();\n });\n });\n }).then(function () {\n\n // Get the autocomplete widget if none loaded\n if (!$.ui) {\n if (inovestor.ms.core.isNullOrUndefined(canadianScreenerPlugin.options.inoCdnBaseUrl))\n throw \"inoCdnBaseUrl is required\";\n\n var jUIScriptUrl = inovestor.ms.core.concatUrl(canadianScreenerPlugin.options.inoCdnBaseUrl, 'dist/libs/jquery-ui/jquery-ui.min.js');\n var jUIStyleUrl = inovestor.ms.core.concatUrl(canadianScreenerPlugin.options.inoCdnBaseUrl, 'dist/libs/jquery-ui/jquery-ui.min.css');\n\n $('body').append('');\n $('body').append('');\n }\n\n // trigger onReady event\n corePlugin.$element.trigger('ready' + '.' + canadianScreenerPlugin._name);\n });\n\n },\n\n renderAddons: function (addons, $element) {\n var deferred = $.Deferred();\n\n function renderAddon(index) {\n if (index >= addons.length) {\n deferred.resolve();\n return;\n }\n \n addons[index].render($element).then(function () {\n renderAddon(index + 1);\n }).fail(function (error) {\n deferred.reject(error);\n });\n }\n\n renderAddon(0);\n\n return deferred.promise();\n },\n\n configurePlugin: function (viewModel) {\n // ViewModel Extra\n viewModel.sliderAllMinMaxValuesAreLoading = ko.observable(false);\n viewModel.exchangeCodes = ko.observableArray();\n viewModel.exchangeCodes(inovestor.ms.screenercore.criteriaValues.exchangeCodes());\n viewModel.sectorValues = ko.observableArray();\n viewModel.sectorValuesAreLoading = ko.observable(false);\n viewModel.sectorValuesAreUnavailable = ko.observable(false);\n viewModel.betaValues = ko.observableArray();\n viewModel.betaValues = ko.observableArray(inovestor.ms.screenercore.criteriaValues.beta());\n viewModel.marketCapValues = ko.observableArray();\n viewModel.marketCapValues(inovestor.ms.screenercore.criteriaValues.marketCap());\n viewModel.initialScreenerIsLoading = ko.observable(false);\n viewModel.areFiltersBusy = ko.computed(function () {\n return viewModel.sectorValuesAreLoading() || viewModel.sliderAllMinMaxValuesAreLoading() || viewModel.initialScreenerIsLoading();\n });\n viewModel.getCriteriasForComparerType = function (comparerType) {\n switch (comparerType) {\n case 'sector':\n return viewModel.sectorValuesAreUnavailable() ? null : viewModel.sectorValues;\n case 'exchange':\n return viewModel.exchangeCodes;\n case 'beta':\n return viewModel.betaValues;\n case 'marketCap':\n return viewModel.marketCapValues;\n default:\n return null;\n }\n }\n\n return viewModel;\n },\n\n // Search for a particular etf\n getSectorsValues: function () {\n var plugin = this.corePlugin;\n var canadianPlugin = this;\n\n canadianPlugin._viewModel.sectorValuesAreLoading(true);\n\n var options = { type: 'GET', contentType: 'application/json', error: function (error) { plugin.apiErrorHandler(error, canadianPlugin._viewModel.sectorValuesAreUnavailable); } };\n\n var sectorsValuesApiCall = inovestor.ms.core.ajaxApi(inovestor.ms.screenercore.screener.config.apiSectorValuesUrl, options, plugin.options.apiBaseUrl).then(function (data) {\n var sectorsValues = [];\n $.each(data, function (i, item) {\n sectorsValues.push({\n key: 'groupKey',\n nameEn: inovestor.ms.core.capitalizeFirstLetter(item.nameEn),\n nameFr: inovestor.ms.core.capitalizeFirstLetter(item.nameFr),\n value: item.id\n });\n });\n canadianPlugin._viewModel.sectorValues(sectorsValues);\n }).always(function () {\n canadianPlugin._viewModel.sectorValuesAreLoading(false);\n });\n\n return $.when(sectorsValuesApiCall);\n },\n\n // Open initial screener\n openInitialScreener: function () {\n var plugin = this.corePlugin;\n\n plugin._viewModel.initialScreenerIsLoading(true);\n\n plugin.loadDefinedScreenerOrDefault(plugin.options.screener).then(function () {\n plugin.search();\n }).fail(function (error) {\n console.error(error);\n plugin._viewModel.hasError(true);\n }).always(function () {\n plugin._viewModel.initialScreenerIsLoading(false);\n });\n },\n\n // Get slider min max values\n getSliderMinMaxValues: function () {\n var plugin = this.corePlugin;\n var canadianScreenerPlugin = this;\n\n canadianScreenerPlugin._viewModel.sliderAllMinMaxValuesAreLoading(true);\n\n var options = { type: 'GET', contentType: 'application/json', error: function (error) { plugin.apiErrorHandler(error, plugin._viewModel.sliderAllMinMaxValuesAreUnavailable); } };\n\n // Call API and bind model\n var sliderFieldsTypes = canadianScreenerPlugin._viewModel.fieldTypes().filter(function (f) { return f.comparerType === 'numeric' });\n var sliderFields = $.map(sliderFieldsTypes, function (val) { return val.key; });\n\n var apiUrl = inovestor.ms.screenercore.screener.config.apiSlidersMinMaxValuesUrl;\n\n var sliderMinMaxValues = inovestor.ms.core.ajaxApi(apiUrl, options, plugin.options.apiBaseUrl).then(function (data) {\n var minMaxValues = [];\n $.each(data, function (i, item) {\n var fieldType = inovestor.ms.screenercore.helper.findFieldTypeByKey(item.identifier);\n if (fieldType && fieldType.adapter) {\n item.min = fieldType.adapter.fromServer(item.min);\n item.max = fieldType.adapter.fromServer(item.max);\n }\n \n minMaxValues.push({\n key: item.identifier,\n min: item.min,\n max: item.max\n });\n });\n canadianScreenerPlugin._viewModel.sliderAllMinMaxValues(minMaxValues);\n }).always(function () {\n canadianScreenerPlugin._viewModel.sliderAllMinMaxValuesAreLoading(false);\n });\n\n return $.when(sliderMinMaxValues);\n }\n });\n\n // JQuery Plugin wrapper\n $.fn.inoMsCanadianScreener = function (options) {\n this.each(function () {\n if (!$.data(this, pluginName)) {\n // Store instance of plugin in \"$.data\"\n $.data(this, pluginName, new Plugin(this, options));\n }\n });\n\n // return plugin to support JQuery chaining\n return this;\n };\n $.fn.inoMsCanadianScreener.defaults = {\n templatePaths: {\n canadianscreener: null\n },\n sharedQuery: null,\n shareBaseUrl: null,\n onError: null,\n onReady: null,\n inoCdnBaseUrl: null,\n addons: {}\n };\n})(inovestor.ms.libRef.jQuery, inovestor.ms.libRef.ko, inovestor);\n; (function (inovestor, undefined) {\n inovestor.ms.screenercore.resources = inovestor.ms.screenercore.resources || {};\n inovestor.ms.screenercore.resources[\"en\"] = {\n formLabels: {\n fieldGroupNames: {\n general: 'General',\n investmentreturn: 'Investment Return',\n priceratios: 'Price Ratios',\n pershareratios: 'Per Share Ratios',\n managementefficiencyratios: 'Management Efficiency ratios',\n liquidityratios: 'Liquidity Ratios',\n dividends: 'Dividends',\n tradingandvolume: 'Trading and volume',\n profitmargins: 'Profit Margins',\n financials: 'Financials',\n markets: 'Markets',\n companies: 'Companies',\n fundamentals: 'Fundamentals',\n performance: 'Performance'\n },\n fieldNames: {\n stockName: 'Stock Name',\n exchange: 'Stock Exchange',\n sgSectorCode: 'Sector',\n marketCap: 'Market Cap ($)',\n returnOnEquity: 'Return on Equity (%)',\n returnOnCap: 'Return on Capital (%)',\n returnOnAsset: 'Return on Assets (%)',\n priceToEarRatio: 'Price/Earnings',\n priceToBook: 'Price/Book Value',\n priceToCFlow: 'Price/Cash Flow',\n priceToSale: 'Price/Sales',\n earningsPerShr: 'Earnings Per Share',\n salePerShr: 'Revenues Per Share',\n dividendPerShr: 'Dividends Per Share',\n bookValue: 'Book Value Per Share',\n cashFlowAndShr: 'Cash Flow Per Share',\n turnover: 'Inventory Turnover',\n debtToEquity: 'Debt-Equity',\n currentRatio: 'Current Ratio',\n interestCoverage: 'Interest Coverage',\n expectedDividend: 'Expected Dividend ($)',\n expectedDividendYield: 'Expected Dividend Yield (%)',\n divPayout: 'Total Dividend: Last Fiscal Year',\n closeLastWeek: 'Last price',\n high52Week: '52 week high',\n low52Week: '52 week low',\n perf13Week: '3 month % change',\n beta: 'Beta',\n netProfitMargin: 'Net Profit Margin (%)',\n grossMargin: 'Gross Margin (%)',\n totalRevenue: 'Latest Fiscal Revenue ($)',\n totalRevenueTtm: '12 Month Revenue ($)',\n yearlyNetIncome: 'Latest Fiscal Income ($)',\n netIncomeTtm: '12 Month Income ($)',\n earningsPerShrLatestFiscal: 'Latest Fiscal EPS'\n },\n columnNames: {\n name: 'Ticker',\n stockName: 'Name',\n exchange: 'Exchange',\n sgSectorCode: 'Sector',\n marketCap: 'Market Cap',\n returnOnEquity: 'Return on Equity',\n returnOnCap: 'Return on Capital',\n returnOnAsset: 'Return on Assets',\n priceToEarRatio: 'P/E',\n priceToBook: 'Price/Book Value',\n priceToCFlow: 'Price/Cash Flow',\n priceToSale: 'Price/Sales',\n earningsPerShr: 'Earnings Per Share',\n salePerShr: 'Revenues Per Share',\n dividendPerShr: 'Dividends Per Share',\n bookValue: 'Book Value Per Share',\n cashFlowAndShr: 'Cash Flow Per Share',\n turnover: 'Inventory Turnover',\n debtToEquity: 'Debt-Equity',\n currentRatio: 'Current Ratio',\n interestCoverage: 'Interest Coverage',\n expectedDividend: 'Expected Dividend',\n expectedDividendYield: 'Expected Dividend Yield',\n divPayout: 'Total Dividend: Last Fiscal Year',\n closeLastWeek: 'Last price',\n high52Week: '52 Week High',\n low52Week: '52 Week Low',\n perf13Week: '3 Month Change',\n beta: 'Beta',\n netProfitMargin: 'Net Profit Margin',\n grossMargin: 'Gross Margin',\n totalRevenue: 'Latest Fiscal Revenue',\n totalRevenueTtm: '12 Month Revenue',\n yearlyNetIncome: 'Latest Fiscal Income',\n netIncomeTtm: '12 Month Income',\n earningsPerShrLatestFiscal: 'Latest Fiscal EPS'\n },\n predefinedCriteriaNames: {\n popular: 'Popular Screens:',\n pci52WeeksHigh: '52-Week Highs',\n pci52WeeksLow: '52-Week-Lows',\n pciHighDivYields: 'High Dividend Yields',\n pciBargainStocks: 'Bargain Stocks',\n pciBlueChips: 'Blue Chips',\n pciPriceShockers: 'Price Shockers',\n pciEnergyGiants: 'Energy Giants'\n },\n criteriaNames: {\n equal: '=',\n notEqual: '<>',\n greater: '>',\n less: '<',\n greaterOrEqual: '>=',\n lessOrEqual: '<=',\n 'in': 'In',\n between: 'Between',\n\n equalStr: 'Equal',\n notEqualStr: 'Not Equal',\n startsWithStr: 'Starts With',\n containsStr: 'Contains',\n\n where: 'WHERE',\n is: 'IS',\n and: 'AND',\n or: 'OR',\n\n tsxv: 'TSXV',\n tsx: 'TSX',\n nasdaq: 'NASDAQ',\n nyse: 'NYSE',\n amex: 'AMEX',\n pink: 'PINK',\n otcbb: 'OTCBB'\n\n }\n },\n any: 'Any',\n filters: 'Criteria',\n hideFilters: 'Hide Criteria',\n showFilters: 'Show Criteria',\n addFilters: 'Add Criteria',\n editFilters: 'Edit Criteria',\n removeFilter: 'Remove Criterion',\n searchCriteria: 'Search Criteria',\n results: 'Results',\n noResultsMessage: 'No results available for your query. Please change your filters and try again',\n noFiltersMessage: 'No filters available',\n unavailableFiltersMessage: 'Filters are not available at the moment. Please try again later.',\n resultsPerPage: 'Results per page: ',\n predefinedScreens: 'Predefined screens: ',\n hideShowColumns: 'Hide/Show Columns',\n selectCriteria: 'Select Criteria',\n search: 'Search',\n amountSelectedMany: 'Filters Selected',\n amountSelectedSingle: 'Filter Selected',\n close: 'Close',\n\n dataTableLanguage: {\n \"decimal\": \"\",\n \"emptyTable\": \"No data available in table\",\n \"info\": \"Showing {0} to {1} of {2} entries\",\n \"infoEmpty\": \"Showing 0 to 0 of 0 entries\",\n \"infoFiltered\": \"(filtered from _MAX_ total entries)\",\n \"infoPostFix\": \"\",\n \"thousands\": \",\",\n \"lengthMenu\": \"Show _MENU_ entries\",\n \"loadingRecords\": \"Loading...\",\n \"processing\": \"Processing...\",\n \"search\": \"Search:\",\n \"zeroRecords\": \"No matching records found\",\n \"paginate\": {\n \"first\": \"First\",\n \"last\": \"Last\",\n \"next\": \"Next\",\n \"previous\": \"Previous\"\n },\n \"aria\": {\n \"sortAscending\": \": activate to sort column ascending\",\n \"sortDescending\": \": activate to sort column descending\"\n }\n },\n\n searchSummaryLabels: {\n equal: 'equal to',\n notEqual: 'not equal to',\n greater: 'greater than',\n less: 'less than',\n greaterOrEqual: 'greater or equal to',\n lessOrEqual: 'less or equal to',\n 'in': 'in',\n between: 'between',\n start: 'Funds ',\n and: ' and '\n },\n wildCardError: 'Please modify criteria for the selected filters to see appropriate results'\n };\n})(inovestor);\n\n; (function (inovestor, undefined) {\n inovestor.ms.screenercore.resources = inovestor.ms.screenercore.resources || {};\n inovestor.ms.screenercore.resources[\"fr\"] = {\n formLabels: {\n fieldGroupNames: {\n general: 'Général',\n investmentreturn: 'Retour sur l\\'investissement',\n priceratios: 'Ratios de prix',\n pershareratios: 'Ratios par actions',\n managementefficiencyratios: 'Ratios de rotation',\n liquidityratios: 'Ratios de liquidités',\n dividends: 'Dividendes',\n tradingandvolume: 'Transaction et Volumes',\n profitmargins: 'Profitabilité',\n financials: 'Données financières',\n markets: 'Marchés',\n companies: 'Entreprises',\n fundamentals: 'Fondamentaux',\n performance: 'Performance'\n },\n fieldNames: {\n stockName: 'Nom d\\'action',\n exchange: 'Bourse',\n sgSectorCode: 'Secteur',\n marketCap: 'Capitalisation Boursière ($)',\n returnOnEquity: 'Rendement des capitaux propres (%)',\n returnOnCap: 'Rendement du capital investi (%)',\n returnOnAsset: 'Rendement de l\\'actif (%)',\n priceToEarRatio: 'Cours / Bénéfice',\n priceToBook: 'Prix / valeur au livre',\n priceToCFlow: 'Cours / flux de trésoreries',\n priceToSale: 'Prix / ventes',\n earningsPerShr: 'Bénéfices par action',\n salePerShr: 'Revenus par action',\n dividendPerShr: 'Dividende par action',\n bookValue: 'Valeur comptable',\n cashFlowAndShr: 'Flux de trésorerie par action',\n turnover: 'Rotation de l\\'inventaire',\n debtToEquity: 'Ratio d\\'endettement',\n currentRatio: 'Ratio de liquidité',\n interestCoverage: 'Couverture des intérêts',\n expectedDividend: 'Dividende prévu ($)',\n expectedDividendYield: 'Rendement du dividende prévu (%)',\n divPayout: 'Ratio de distribution',\n closeLastWeek: 'Prix dernière transaction',\n high52Week: 'Max. 52 semaines',\n low52Week: 'Min. 52 semaines',\n perf13Week: 'Variation prix 3 mois en %',\n beta: 'Béta',\n netProfitMargin: 'Marge nette (%)',\n grossMargin: 'Marge brute (%)',\n totalRevenue: 'Revenus ($)',\n totalRevenueTtm: 'Revenus DDM ($)',\n yearlyNetIncome: 'Bénéfice ($)',\n netIncomeTtm: 'Bénéfice DDM ($)',\n earningsPerShrLatestFiscal: 'BPA (dernière année fiscale)'\n },\n columnNames: {\n name: 'Symbole',\n stockName: 'Nom',\n exchange: 'Bourse',\n sgSectorCode: 'Secteur',\n marketCap: 'Cap. Boursière',\n returnOnEquity: 'Rendement des capitaux propres',\n returnOnCap: 'Rendement du capital investi',\n returnOnAsset: 'Rendement de l\\'actif',\n priceToEarRatio: 'C / B',\n priceToBook: 'P / V',\n priceToCFlow: 'Cours / flux de trésoreries',\n priceToSale: 'Prix / ventes',\n earningsPerShr: 'BPA',\n salePerShr: 'Revenus / action',\n dividendPerShr: 'Dividende / action',\n bookValue: 'Valeur comptable',\n cashFlowAndShr: 'Flux de trésorerie / action',\n turnover: 'Rotation de l\\'inventaire',\n debtToEquity: 'Ratio d\\'endettement',\n currentRatio: 'Ratio de liquidité',\n interestCoverage: 'Couverture des intérêts',\n expectedDividend: 'Dividende prévu',\n expectedDividendYield: 'Rendement du dividende prévu',\n divPayout: 'Ratio de distribution',\n closeLastWeek: 'Prix dernière transaction',\n high52Week: 'Max. 52 sem.',\n low52Week: 'Min. 52 sem.',\n perf13Week: 'Variation prix 3 mois en %',\n beta: 'Béta',\n netProfitMargin: 'Marge nette',\n grossMargin: 'Marge brute',\n totalRevenue: 'Revenus',\n totalRevenueTtm: 'Revenus DDM',\n yearlyNetIncome: 'Bénéfice',\n netIncomeTtm: 'Bénéfice DDM',\n earningsPerShrLatestFiscal: 'BPA (dernière année fiscale)'\n },\n predefinedCriteriaNames: {\n popular: 'Écrans populaires:',\n pci52WeeksHigh: '52-Week Highs FR',\n pci52WeeksLow: '52-Week-Lows FR',\n pciHighDivYields: 'Dividende à rendements élévé',\n pciBargainStocks: 'Actions économiques',\n pciBlueChips: 'Blue chips',\n pciPriceShockers: 'Price Shockers FR',\n pciEnergyGiants: \"Géants de l'énergie\"\n },\n criteriaNames: {\n equal: '=',\n notEqual: '<>',\n greater: '>',\n less: '<',\n greaterOrEqual: '>=',\n lessOrEqual: '<=',\n 'in': 'In',\n between: 'Between',\n\n equalStr: 'Equal Fr',\n notEqualStr: 'Not Equal Fr',\n startsWithStr: 'Starts With Fr',\n containsStr: 'Contains Fr',\n\n where: 'WHERE',\n is: 'IS',\n and: 'AND',\n or: 'OR',\n\n tsxv: 'TSXV',\n tsx: 'TSX',\n nasdaq: 'NASDAQ',\n nyse: 'NYSE',\n amex: 'AMEX',\n pink: 'PINK',\n otcbb: 'OTCBB'\n }\n },\n any: 'Tout',\n filters: 'Critères',\n hideFilters: 'Masquer les critères',\n showFilters: 'Afficher les critères',\n addFilters: 'Ajouter des critères',\n editFilters: 'Modifier les critères',\n removeFilter: 'Supprimer le critère',\n searchCriteria: 'Rechercher des critères',\n results: 'Résultats',\n noResultsMessage: 'Aucun résultat disponible pour votre requête. Veuillez changer vos critères et réessayer',\n noFiltersMessage: 'Aucun filtre disponible',\n unavailableFiltersMessage: 'Les filtres ne sont pas disponible pour le moment. Veuillez réessayer plus tard.',\n resultsPerPage: 'Résultats par page: ',\n predefinedScreens: 'Écrans prédéfinis: ',\n hideShowColumns: 'Masquer/afficher les colonnes',\n selectCriteria: 'Sélectionner critère',\n search: 'Chercher',\n amountSelectedMany: 'filtres sélectionnés',\n amountSelectedSingle: 'filtre sélectionné',\n close: 'Fermer',\n\n dataTableLanguage: {\n \"decimal\": \"\",\n \"emptyTable\": \"Aucune donnée disponible\",\n \"info\": \"Affichage de {0} à {1} de {2} entrées\",\n \"infoEmpty\": \"Affichage de 0 à 0 de 0 entrées\",\n \"infoFiltered\": \"(Filtré de _MAX_ entrées totales)\",\n \"infoPostFix\": \"\",\n \"thousands\": \",\",\n \"lengthMenu\": \"Montrer _MENU_ entrées\",\n \"loadingRecords\": \"En chargement...\",\n \"processing\": \"En traitement...\",\n \"search\": \"Chercher:\",\n \"zeroRecords\": \"Aucun enregistrements trouvés\",\n \"paginate\": {\n \"first\": \"Premier\",\n \"last\": \"Dernier\",\n \"next\": \"Prochain\",\n \"previous\": \"Précédent\"\n },\n \"aria\": {\n \"sortAscending\": \": Activer pour trier la colonne en ordre croissant\",\n \"sortDescending\": \": Activer pour trier la colonne en descendant\"\n }\n },\n\n searchSummaryLabels: {\n equal: 'equal to',\n notEqual: 'not equal to',\n greater: 'greater than',\n less: 'less than',\n greaterOrEqual: 'greater or equal to',\n lessOrEqual: 'less or equal to',\n 'in': 'in',\n between: 'between',\n start: 'Funds ',\n and: ' and '\n },\n wildCardError: 'Veuillez modifier les critères des filtres sélectionnés pour obtenir les résultats appropriés.'\n };\n})(inovestor);\n"]}