From 8f24610243fb9d2a30b7c15e64dbde1de50d0706 Mon Sep 17 00:00:00 2001 From: Ceolter Date: Tue, 26 Jan 2016 19:01:32 +0000 Subject: [PATCH] iteration --- src/ColDefFactory.jsx | 158 +++--------------------------------------- 1 file changed, 8 insertions(+), 150 deletions(-) diff --git a/src/ColDefFactory.jsx b/src/ColDefFactory.jsx index 41d049a..3bd22a3 100644 --- a/src/ColDefFactory.jsx +++ b/src/ColDefFactory.jsx @@ -22,6 +22,7 @@ export default class ColDefFactory { {headerName: "Name", field: "name", width: 150, pinned: true}, {headerName: "Country", field: "country", width: 150, + // not bothering with React for country, as it's a simple HTML string cellRenderer: countryCellRenderer, pinned: true, filterParams: {cellRenderer: countryCellRenderer, cellHeight: 20}}, ] @@ -30,11 +31,15 @@ export default class ColDefFactory { headerName: 'IT Skills', children: [ {headerName: "Skills", width: 125, suppressSorting: true, field: 'skills', + // using ag-Grid's React cellRenderer factory cellRenderer: reactCellRendererFactory(SkillsCellRenderer), + // using ag-Grid's React filter factory filter: reactFilterFactory(SkillsFilter) }, {headerName: "Proficiency", field: "proficiency", filter: 'number', width: 120, + // using ag-Grid's React cellRenderer factory cellRenderer: reactCellRendererFactory(ProficiencyCellRenderer), + // using ag-Grid's React filter factory filter: reactFilterFactory(ProficiencyFilter)} ] }, @@ -54,155 +59,8 @@ export default class ColDefFactory { // this is a simple cell renderer, putting together static html, no // need to use React for it. function countryCellRenderer(params) { - var flag = ""; + var flag = ""; return flag + " " + params.value; } -/* -var SKILL_TEMPLATE = - ''; - -var FILTER_TITLE = - '
' + - 'TITLE_NAME' + - '
';*/ -/* -function SkillFilter() { -} - -SkillFilter.prototype.init = function (params) { - this.filterChangedCallback = params.filterChangedCallback; - this.model = { - android: false, - css: false, - html5: false, - mac: false, - windows: false - }; -}; - -SkillFilter.prototype.getGui = function () { - var eGui = document.createElement('div'); - eGui.style.width = '380px'; - var eInstructions = document.createElement('div'); - eInstructions.innerHTML = FILTER_TITLE.replace('TITLE_NAME', 'Custom Skills Filter'); - eGui.appendChild(eInstructions); - - var that = this; - - RefData.IT_SKILLS.forEach(function (skill, index) { - var skillName = RefData.IT_SKILLS_NAMES[index]; - var eSpan = document.createElement('span'); - var html = SKILL_TEMPLATE.replace("SKILL_NAME", skillName).replace("SKILL", skill); - eSpan.innerHTML = html; - - var eCheckbox = eSpan.querySelector('input'); - eCheckbox.addEventListener('click', function () { - that.model[skill] = eCheckbox.checked; - that.filterChangedCallback(); - }); - - eGui.appendChild(eSpan); - }); - - return eGui; -}; - -SkillFilter.prototype.doesFilterPass = function (params) { - - var rowSkills = params.data.skills; - var model = this.model; - var passed = true; - - IT_SKILLS.forEach(function (skill) { - if (model[skill]) { - if (!rowSkills[skill]) { - passed = false; - } - } - }); - - return passed; -}; - -SkillFilter.prototype.isFilterActive = function () { - var model = this.model; - var somethingSelected = model.android || model.css || model.html5 || model.mac || model.windows; - return somethingSelected; -};*/ -// -//var PROFICIENCY_TEMPLATE = -// ''; -// -//var PROFICIENCY_NONE = 'none'; -//var PROFICIENCY_ABOVE40 = 'above40'; -//var PROFICIENCY_ABOVE60 = 'above60'; -//var PROFICIENCY_ABOVE80 = 'above80'; -// -//var PROFICIENCY_NAMES = ['No Filter', 'Above 40%', 'Above 60%', 'Above 80%']; -//var PROFICIENCY_VALUES = [PROFICIENCY_NONE, PROFICIENCY_ABOVE40, PROFICIENCY_ABOVE60, PROFICIENCY_ABOVE80]; -// -//function ProficiencyFilter() { -//} -// -//ProficiencyFilter.prototype.init = function (params) { -// this.filterChangedCallback = params.filterChangedCallback; -// this.selected = PROFICIENCY_NONE; -// this.valueGetter = params.valueGetter; -//}; -// -//ProficiencyFilter.prototype.getGui = function () { -// var eGui = document.createElement('div'); -// var eInstructions = document.createElement('div'); -// eInstructions.innerHTML = FILTER_TITLE.replace('TITLE_NAME', 'Custom Proficiency Filter'); -// eGui.appendChild(eInstructions); -// -// var random = '' + Math.random(); -// -// var that = this; -// PROFICIENCY_NAMES.forEach( function (name, index) { -// var eFilter = document.createElement('div'); -// var html = PROFICIENCY_TEMPLATE.replace('PROFICIENCY_NAME', name).replace('RANDOM', random); -// eFilter.innerHTML = html; -// var eRadio = eFilter.querySelector('input'); -// if (index === 0) { -// eRadio.checked = true; -// } -// eGui.appendChild(eFilter); -// -// eRadio.addEventListener('click', function () { -// that.selected = PROFICIENCY_VALUES[index]; -// that.filterChangedCallback(); -// }); -// }); -// -// return eGui; -//}; -// -//ProficiencyFilter.prototype.doesFilterPass = function (params) { -// -// var value = this.valueGetter(params); -// var valueAsNumber = parseFloat(value); -// -// switch (this.selected) { -// case PROFICIENCY_ABOVE40 : return valueAsNumber >= 40; -// case PROFICIENCY_ABOVE60 : return valueAsNumber >= 60; -// case PROFICIENCY_ABOVE80 : return valueAsNumber >= 80; -// default : return true; -// } -// -//}; -// -//ProficiencyFilter.prototype.isFilterActive = function () { -// return this.selected !== PROFICIENCY_NONE; -//};