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;
-//};