{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/pages/skills.js","webpack:///./src/components/SkillSearch.js","webpack:///./src/components/SkillList.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","9","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","rootUrl","globals","canEdit","canPost","canDelete","deleteSkill","id","confirm","unescape","fetch","method","headers","RequestVerificationToken","csrfToken","Accept","Content-Type","credentials","body","JSON","stringify","Id","then","resultSuccess","ok","location","reload","alert","response","json","skills","ReactDOM","render","_react2","default","createElement","_SkillSearch2","document","getElementById","SkillSearch","props","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","getPrototypeOf","state","filteredSkills","term","handleTermChange","filterSkillsByTerm","displayNoResults","React","Component","e","newTerm","target","trim","newlyFilteredSkills","setState","filter","skill","toLowerCase","indexOf","aliases","split","alias","skillMatchesTerm","className","type","placeholder","onChange","_SkillList2","SkillList","highlightTerm","renderSkill","renderAliases","line","word","regex","RegExp","replace","href","xmlns","viewBox","onClick","escape","renderEditButton","renderDeleteButton","dangerouslySetInnerHTML","__html","description","matches","map","renderAlias"],"mappings":"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","file":"skills.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t9: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([34,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './_layout';\r\nimport SkillSearch from '../components/SkillSearch';\r\nvar rootUrl = (window.globals && window.globals.rootUrl) || \"../\";\r\n\r\nvar canEdit = window.globals.canPost;\r\nvar canDelete = canEdit;\r\n\r\nfetch(rootUrl + 'API/GetSkills', {\r\n\tmethod: 'GET',\r\n\theaders: {\r\n\t\t\"Accept\": \"application/json, text/plain, */*\",\r\n\t\t\"Content-Type\" : \"application/json\"\r\n\t}\r\n}).then(function(response){\r\n\treturn response.json();\r\n}).then(function(skills){\r\n\tif (skills !== null) {\r\n ReactDOM.render(, document.getElementById('skill-list'));\r\n\t} else {\r\n\t\talert('Network call failed.');\r\n\t}\r\n});\r\n\r\nfunction deleteSkill(id, name) {\r\n\tvar reallyDelete = confirm(\"Really delete skill \" + unescape(name) + \"?\");\r\n if (reallyDelete) {\r\n fetch(rootUrl + 'API/DeleteSkill', {\r\n method: 'POST',\r\n headers: {\r\n \"RequestVerificationToken\": globals.csrfToken,\r\n \"Accept\": \"application/json, text/plain, */*\",\r\n \"Content-Type\" : \"application/json\"\r\n },\r\n credentials: 'same-origin',\r\n body: JSON.stringify({\r\n Id: id\r\n })\r\n }).then(function(resultSuccess){\r\n if (resultSuccess.ok) {\r\n window.location.reload(true);\r\n } else {\r\n alert('Delete failed');\r\n }\r\n });\r\n }\r\n}","import React from 'react';\r\nimport SkillList from './SkillList';\r\n\r\nexport default class SkillSearch extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n filteredSkills: [],\r\n term: \"\"\r\n };\r\n this.handleTermChange = this.handleTermChange.bind(this);\r\n this.filterSkillsByTerm = this.filterSkillsByTerm.bind(this);\r\n this.displayNoResults = this.displayNoResults.bind(this);\r\n }\r\n\r\n handleTermChange(e) {\r\n var newTerm = e.target.value.trim();\r\n var newlyFilteredSkills = newTerm !== ''? this.filterSkillsByTerm(this.props.skills, newTerm) : [];\r\n this.setState({\r\n term: newTerm,\r\n filteredSkills: newlyFilteredSkills\r\n });\r\n }\r\n\r\n filterSkillsByTerm(skills, term) {\r\n var result = skills.filter(function(skill){\r\n return skillMatchesTerm(skill, term);\r\n });\r\n return result;\r\n }\r\n\r\n displayNoResults() {\r\n return (\r\n
No skills match your search term.
\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n { this.state.term !== '' && this.state.filteredSkills.length == 0? this.displayNoResults() : null }\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction skillMatchesTerm(skill, term) {\r\n if (skill.name.toLowerCase() === term.toLowerCase()) {\r\n return true;\r\n }\r\n if (skill.name.toLowerCase().indexOf(term.toLowerCase()) != -1) {\r\n return true;\r\n }\r\n var aliases = skill.aliases.split(',').filter(function(alias){\r\n return alias.toLowerCase().indexOf(term.toLowerCase()) != -1;\r\n });\r\n return aliases.length > 0;\r\n}\r\n","import React from 'react';\r\n\r\nexport default class SkillList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.highlightTerm = this.highlightTerm.bind(this);\r\n this.renderSkill = this.renderSkill.bind(this);\r\n this.renderAliases = this.renderAliases.bind(this);\r\n }\r\n\r\n highlightTerm( line, word, className )\r\n {\r\n className = className || \"highlight-underline\";\r\n var regex = new RegExp( '(' + word + ')', 'gi' );\r\n return line.replace( regex, '$1' );\r\n }\r\n \r\n renderEditButton(skill, i) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n renderDeleteButton(skill, i, deleteSkill) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n renderSkill(skill, i) {\r\n return (\r\n
  • \r\n {this.props.canEdit? this.renderEditButton(skill, i) : null}\r\n {this.props.canDelete? this.renderDeleteButton(skill, i, this.props.deleteSkill) : null}\r\n

    \r\n { this.renderAliases(skill.aliases) }\r\n
    \r\n

    \r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n renderAliases(aliases) {\r\n if (!aliases || !this.props.term) return undefined;\r\n\r\n var matches = aliases.split(',').filter(function(alias){\r\n return alias.trim().toLowerCase().indexOf(this.props.term.toLowerCase()) != -1;\r\n }.bind(this));\r\n\r\n if (!matches) return undefined;\r\n\r\n return (\r\n
    \r\n { matches.map(this.renderAlias.bind(this)) }\r\n
    \r\n );\r\n }\r\n\r\n renderAlias(alias, i) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n};\r\n"],"sourceRoot":""}