process-table
Version:
JavaScript 流程管理机制
1,797 lines (1,501 loc) • 687 kB
JavaScript
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/dest/";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _createClass = __webpack_require__(1)['default'];
var _classCallCheck = __webpack_require__(5)['default'];
var _extends = __webpack_require__(6)['default'];
var _interopRequireDefault = __webpack_require__(19)['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _processTable = __webpack_require__(20);
var _processTable2 = _interopRequireDefault(_processTable);
var _store = __webpack_require__(21);
var _store2 = _interopRequireDefault(_store);
var _componentView = __webpack_require__(50);
var _componentView2 = _interopRequireDefault(_componentView);
var _react = __webpack_require__(65);
var _react2 = _interopRequireDefault(_react);
var App = (function () {
function App() {
_classCallCheck(this, App);
this.process = new _processTable2['default']();
this.container = 'todoapp';
this.combo();
this.listen();
}
_createClass(App, [{
key: 'render',
value: function render(data) {
_react2['default'].render(_react2['default'].createElement(_componentView2['default'], _extends({}, data, { process: this.process })), document.getElementById(this.container));
}
}, {
key: 'combo',
value: function combo() {
this.process.extend({
'render': [function (store) {
return {
store: store,
activeFilter: location.hash
};
}, _store2['default'].willResolve('getInfoByActiveFilter'), this.render.bind(this)],
'addTodo': [function (title) {
if (_store2['default'].resolve('filterTodos', { title: title }).length !== 0) {
alert('任务已存在');
return null;
}
return title;
}, _store2['default'].willResolve('addTodo'), 'render'],
'updateTodo': [_store2['default'].willResolve('updateTodo'), 'render'],
'removeTodo': [_store2['default'].willResolve('removeTodo'), 'render'],
'toggleAll': [_store2['default'].willResolve('toggleAll'), 'render'],
'clearCompleted': [_store2['default'].willResolve('clearCompleted'), 'render'],
'filterByTitle': [_store2['default'].willResolve('filterByTitle'), 'render']
});
}
}, {
key: 'listen',
value: function listen() {
var _this = this;
var render = function render() {
return _this.process.dispatch([_store2['default'].willResolve('getStore'), 'render']);
};
window.addEventListener('hashchange', render, false);
document.addEventListener('DOMContentLoaded', render, false);
}
}]);
return App;
})();
exports['default'] = App;
new App();
module.exports = exports['default'];
/***/ },
/* 1 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var _Object$defineProperty = __webpack_require__(2)["default"];
exports["default"] = (function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
_Object$defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
})();
exports.__esModule = true;
/***/ },
/* 2 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(3), __esModule: true };
/***/ },
/* 3 */
/***/ function(module, exports, __webpack_require__) {
var $ = __webpack_require__(4);
module.exports = function defineProperty(it, key, desc){
return $.setDesc(it, key, desc);
};
/***/ },
/* 4 */
/***/ function(module, exports) {
var $Object = Object;
module.exports = {
create: $Object.create,
getProto: $Object.getPrototypeOf,
isEnum: {}.propertyIsEnumerable,
getDesc: $Object.getOwnPropertyDescriptor,
setDesc: $Object.defineProperty,
setDescs: $Object.defineProperties,
getKeys: $Object.keys,
getNames: $Object.getOwnPropertyNames,
getSymbols: $Object.getOwnPropertySymbols,
each: [].forEach
};
/***/ },
/* 5 */
/***/ function(module, exports) {
"use strict";
exports["default"] = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
exports.__esModule = true;
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var _Object$assign = __webpack_require__(7)["default"];
exports["default"] = _Object$assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
exports.__esModule = true;
/***/ },
/* 7 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(8), __esModule: true };
/***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) {
__webpack_require__(9);
module.exports = __webpack_require__(12).Object.assign;
/***/ },
/* 9 */
/***/ function(module, exports, __webpack_require__) {
// 19.1.3.1 Object.assign(target, source)
var $def = __webpack_require__(10);
$def($def.S, 'Object', {assign: __webpack_require__(13)});
/***/ },
/* 10 */
/***/ function(module, exports, __webpack_require__) {
var global = __webpack_require__(11)
, core = __webpack_require__(12)
, PROTOTYPE = 'prototype';
function ctx(fn, that){
return function(){
return fn.apply(that, arguments);
};
}
// type bitmap
$def.F = 1; // forced
$def.G = 2; // global
$def.S = 4; // static
$def.P = 8; // proto
$def.B = 16; // bind
$def.W = 32; // wrap
function $def(type, name, source){
var key, own, out, exp
, isGlobal = type & $def.G
, isProto = type & $def.P
, target = isGlobal ? global : type & $def.S
? global[name] : (global[name] || {})[PROTOTYPE]
, exports = isGlobal ? core : core[name] || (core[name] = {});
if(isGlobal)source = name;
for(key in source){
// contains in native
own = !(type & $def.F) && target && key in target;
if(own && key in exports)continue;
// export native or passed
out = own ? target[key] : source[key];
// prevent global pollution for namespaces
if(isGlobal && typeof target[key] != 'function')exp = source[key];
// bind timers to global for call from export context
else if(type & $def.B && own)exp = ctx(out, global);
// wrap global constructors for prevent change them in library
else if(type & $def.W && target[key] == out)!function(C){
exp = function(param){
return this instanceof C ? new C(param) : C(param);
};
exp[PROTOTYPE] = C[PROTOTYPE];
}(out);
else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out;
// export
exports[key] = exp;
if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
}
}
module.exports = $def;
/***/ },
/* 11 */
/***/ function(module, exports) {
var global = typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
module.exports = global;
if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
/***/ },
/* 12 */
/***/ function(module, exports) {
var core = module.exports = {};
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
/***/ },
/* 13 */
/***/ function(module, exports, __webpack_require__) {
var toObject = __webpack_require__(14)
, ES5Object = __webpack_require__(15)
, enumKeys = __webpack_require__(18);
// 19.1.2.1 Object.assign(target, source, ...)
/* eslint-disable no-unused-vars */
module.exports = Object.assign || function assign(target, source){
/* eslint-enable no-unused-vars */
var T = toObject(target, true)
, l = arguments.length
, i = 1;
while(l > i){
var S = ES5Object(arguments[i++])
, keys = enumKeys(S)
, length = keys.length
, j = 0
, key;
while(length > j)T[key = keys[j++]] = S[key];
}
return T;
};
/***/ },
/* 14 */
/***/ function(module, exports, __webpack_require__) {
var ES5Object = __webpack_require__(15)
, defined = __webpack_require__(17);
module.exports = function(it, realString){
return (realString ? Object : ES5Object)(defined(it));
};
/***/ },
/* 15 */
/***/ function(module, exports, __webpack_require__) {
// fallback for not array-like ES3 strings
var cof = __webpack_require__(16)
, $Object = Object;
module.exports = 0 in $Object('z') ? $Object : function(it){
return cof(it) == 'String' ? it.split('') : $Object(it);
};
/***/ },
/* 16 */
/***/ function(module, exports) {
var toString = {}.toString;
module.exports = function(it){
return toString.call(it).slice(8, -1);
};
/***/ },
/* 17 */
/***/ function(module, exports) {
module.exports = function(it){
if(it == undefined)throw TypeError("Can't call method on " + it);
return it;
};
/***/ },
/* 18 */
/***/ function(module, exports, __webpack_require__) {
var $ = __webpack_require__(4);
module.exports = function(it){
var keys = $.getKeys(it)
, isEnum = $.isEnum
, getSymbols = $.getSymbols;
if(getSymbols)for(var symbols = getSymbols(it), i = 0, key; symbols.length > i; ){
if(isEnum.call(it, key = symbols[i++]))keys.push(key);
}
return keys;
};
/***/ },
/* 19 */
/***/ function(module, exports) {
"use strict";
exports["default"] = function (obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
};
exports.__esModule = true;
/***/ },
/* 20 */
/***/ function(module, exports, __webpack_require__) {
/*!
* LastModifyTime: 2015-08-11 15:07:36
* Process.js Version: 0.0.6
* Github:https://github.com/Lucifier129/process
* Copyright(c) 2015 Jade Gu <guyingjie129@163.com>
* MIT Licensed
*/
'use strict';
;(function (root, factory) {
if (true) module.exports = factory();else if (typeof define === 'function' && (define.amd || define.cmd)) define(factory);else if (typeof exports === 'object') exports["Process"] = factory();else root["Process"] = factory();
})(undefined, function () {
var isType = function isType(type) {
type = '[object ' + type + ']';
return function (obj) {
return obj != null && Object.prototype.toString.call(obj) === type;
};
};
var isObj = isType('Object');
var isStr = isType('String');
var isNum = isType('Number');
var isFn = isType('Function');
var isArr = Array.isArray || isType('Array');
var isThenable = function isThenable(obj) {
return obj != null && isFn(obj.then);
};
var slice = Array.prototype.slice;
var _extend = function _extend(target) {
var sources = slice.call(arguments, 1);
for (var i = 0, len = sources.length; i < len; i++) {
var source = sources[i];
if (isObj(source)) {
for (var key in source) {
if (source.hasOwnProperty(key)) {
target[key] = source[key];
}
}
}
}
return target;
};
function Process(sources, state) {
_extend(this, sources);
this.state = _extend(this.state || {}, state);
}
Process.prototype = {
extend: function extend() {
return _extend.apply(null, [this].concat(slice.call(arguments)));
},
setState: function setState() {
return _extend.apply(null, [this.state].concat(slice.call(arguments)));
},
resolve: function resolve(taskName, value) {
return this.dispatch(this[taskName], value);
},
reject: function reject(errorName, value) {
var error = this.error;
if (!(this.$error instanceof Process)) {
this.$error = new Process(error);
} else if (isObj(error)) {
this.$error.extend(error);
}
return this.$error.resolve(errorName, value);
},
willResolve: function willResolve(taskName) {
var self = this;
return function (value) {
return self.resolve(taskName, value);
};
},
willReject: function willReject(errorName) {
var self = this;
return function (value) {
return self.reject(errorName, value);
};
},
willDispatch: function willDispatch(handler) {
var self = this;
return function (value) {
return self.dispatch(handler, value);
};
},
dispatch: function dispatch(handler, value) {
if (value === null) {
return value;
}
var process = this;
if (isFn(handler)) {
return handler.call(process, value, process.state, process);
} else if (isStr(handler) || isNum(handler)) {
return process.dispatch(process[handler], value);
} else if (isArr(handler)) {
for (var i = 0, len = handler.length; i < len; i++) {
value = process.dispatch(handler[i], value);
if (value === null) {
return value;
}
if (isThenable(value)) {
return i === len - 1 ? value : value.then(function (result) {
return process.dispatch(handler.slice(i + 1), result);
});
}
}
} else if (isThenable(handler)) {
return handler.then(function (asyncHandler) {
return process.dispatch(asyncHandler, value);
});
} else if (isObj(handler) && isFn(handler.goTo)) {
return process.dispatch(handler.goTo(value, process.state, process), value);
}
return value;
}
};
return Process;
});
/***/ },
/* 21 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = __webpack_require__(6)['default'];
var _Object$assign = __webpack_require__(7)['default'];
var _getIterator = __webpack_require__(22)['default'];
var _interopRequireDefault = __webpack_require__(19)['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _processTable = __webpack_require__(20);
var _processTable2 = _interopRequireDefault(_processTable);
var process = new _processTable2['default']();
exports['default'] = process;
var _getStore = function _getStore(name) {
return JSON.parse(localStorage.getItem(name) || '[]');
};
exports.getStore = _getStore;
var _saveStore = function _saveStore(name, data) {
localStorage.setItem(name, JSON.stringify(data));
return data;
};
exports.saveStore = _saveStore;
var addItem = function addItem(source, store) {
var date = new Date();
var item = _Object$assign({
id: date.getTime(),
time: date.toLocaleString(),
state: false
}, source);
store.push(item);
return store;
};
exports.addItem = addItem;
var updateItem = function updateItem(source, store) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = _getIterator(store), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var item = _step.value;
item.id === source.id && _Object$assign(item, source);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return store;
};
exports.updateItem = updateItem;
var removeItem = function removeItem(id, store) {
for (var i = 0; i < store.length; i++) {
if (store[i].id === id) {
store.splice(i, 1);
break;
}
}
return store;
};
exports.removeItem = removeItem;
var _toggleAll = function _toggleAll(state, store) {
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = _getIterator(store), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var item = _step2.value;
item.state = state;
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2['return']) {
_iterator2['return']();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return store;
};
exports.toggleAll = _toggleAll;
var filter = function filter(query, store) {
return store.filter(function (item) {
if (item === query) {
return true;
}
for (var key in query) {
if (query[key] !== item[key]) {
return false;
}
}
return true;
});
};
exports.filter = filter;
process.extend({
name: 'process-table',
getStore: function getStore() {
return _getStore(this.name);
},
saveStore: function saveStore(store) {
return _saveStore(this.name, store);
},
addTodo: function addTodo(title) {
return this.dispatch(['getStore', function (store) {
return addItem({ title: title }, store);
}, 'saveStore']);
},
updateTodo: function updateTodo(todo) {
return this.dispatch(['getStore', function (store) {
return updateItem(todo, store);
}, 'saveStore']);
},
removeTodo: function removeTodo(id) {
return this.dispatch(['getStore', function (store) {
return removeItem(id, store);
}, 'saveStore']);
},
toggleAll: function toggleAll(state) {
console.log(state);
return this.dispatch(['getStore', function (store) {
return _toggleAll(state, store);
}, 'saveStore']);
},
filterTodos: function filterTodos(query) {
return this.dispatch(['getStore', function (store) {
return filter(query, store);
}]);
},
filterByTitle: function filterByTitle(title) {
var store = this.getStore();
if (!title) {
return store;
}
var result = [];
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator3 = _getIterator(store), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var item = _step3.value;
if (item.title.includes(title)) {
result.push(_extends({}, item, {
title: item.title.split(title).join('[' + title + ']')
}));
}
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3['return']) {
_iterator3['return']();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}
return result;
},
clearCompleted: function clearCompleted() {
return this.dispatch(['getStore', function (store) {
for (var i = store.length - 1; i >= 0; i--) {
store[i].state && store.splice(i, 1);
}
return store;
}, 'saveStore']);
},
getInfoByActiveFilter: function getInfoByActiveFilter(_ref) {
var store = _ref.store;
var activeFilter = _ref.activeFilter;
var todoCount = filter({
state: false
}, store).length;
var completedCount = store.length - todoCount;
var query = {};
if (activeFilter === '#/active') {
query.state = false;
} else if (activeFilter === '#/completed') {
query.state = true;
}
return {
activeFilter: activeFilter,
completedCount: completedCount,
todoCount: todoCount,
todos: filter(query, store),
isAllCompleted: completedCount > 0 && todoCount === 0
};
}
});
/***/ },
/* 22 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(23), __esModule: true };
/***/ },
/* 23 */
/***/ function(module, exports, __webpack_require__) {
__webpack_require__(24);
__webpack_require__(42);
module.exports = __webpack_require__(45);
/***/ },
/* 24 */
/***/ function(module, exports, __webpack_require__) {
__webpack_require__(25);
var Iterators = __webpack_require__(28);
Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
/***/ },
/* 25 */
/***/ function(module, exports, __webpack_require__) {
var setUnscope = __webpack_require__(26)
, step = __webpack_require__(27)
, Iterators = __webpack_require__(28)
, toObject = __webpack_require__(14);
// 22.1.3.4 Array.prototype.entries()
// 22.1.3.13 Array.prototype.keys()
// 22.1.3.29 Array.prototype.values()
// 22.1.3.30 Array.prototype[@@iterator]()
__webpack_require__(29)(Array, 'Array', function(iterated, kind){
this._t = toObject(iterated); // target
this._i = 0; // next index
this._k = kind; // kind
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
}, function(){
var O = this._t
, kind = this._k
, index = this._i++;
if(!O || index >= O.length){
this._t = undefined;
return step(1);
}
if(kind == 'keys' )return step(0, index);
if(kind == 'values')return step(0, O[index]);
return step(0, [index, O[index]]);
}, 'values');
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
Iterators.Arguments = Iterators.Array;
setUnscope('keys');
setUnscope('values');
setUnscope('entries');
/***/ },
/* 26 */
/***/ function(module, exports) {
module.exports = function(){ /* empty */ };
/***/ },
/* 27 */
/***/ function(module, exports) {
module.exports = function(done, value){
return {value: value, done: !!done};
};
/***/ },
/* 28 */
/***/ function(module, exports) {
module.exports = {};
/***/ },
/* 29 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var LIBRARY = __webpack_require__(30)
, $def = __webpack_require__(10)
, $redef = __webpack_require__(31)
, hide = __webpack_require__(32)
, has = __webpack_require__(35)
, SYMBOL_ITERATOR = __webpack_require__(36)('iterator')
, Iterators = __webpack_require__(28)
, FF_ITERATOR = '@@iterator'
, KEYS = 'keys'
, VALUES = 'values';
function returnThis(){ return this; }
module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){
__webpack_require__(39)(Constructor, NAME, next);
function createMethod(kind){
switch(kind){
case KEYS: return function keys(){ return new Constructor(this, kind); };
case VALUES: return function values(){ return new Constructor(this, kind); };
} return function entries(){ return new Constructor(this, kind); };
}
var TAG = NAME + ' Iterator'
, proto = Base.prototype
, _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
, _default = _native || createMethod(DEFAULT)
, methods, key;
// Fix native
if(_native){
var IteratorPrototype = __webpack_require__(4).getProto(_default.call(new Base));
// Set @@toStringTag to native iterators
__webpack_require__(40)(IteratorPrototype, TAG, true);
// FF fix
if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, SYMBOL_ITERATOR, returnThis);
}
// Define iterator
if(!LIBRARY || FORCE)hide(proto, SYMBOL_ITERATOR, _default);
// Plug for library
Iterators[NAME] = _default;
Iterators[TAG] = returnThis;
if(DEFAULT){
methods = {
keys: IS_SET ? _default : createMethod(KEYS),
values: DEFAULT == VALUES ? _default : createMethod(VALUES),
entries: DEFAULT != VALUES ? _default : createMethod('entries')
};
if(FORCE)for(key in methods){
if(!(key in proto))$redef(proto, key, methods[key]);
} else $def($def.P + $def.F * __webpack_require__(41), NAME, methods);
}
};
/***/ },
/* 30 */
/***/ function(module, exports) {
module.exports = true;
/***/ },
/* 31 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(32);
/***/ },
/* 32 */
/***/ function(module, exports, __webpack_require__) {
var $ = __webpack_require__(4)
, createDesc = __webpack_require__(33);
module.exports = __webpack_require__(34) ? function(object, key, value){
return $.setDesc(object, key, createDesc(1, value));
} : function(object, key, value){
object[key] = value;
return object;
};
/***/ },
/* 33 */
/***/ function(module, exports) {
module.exports = function(bitmap, value){
return {
enumerable : !(bitmap & 1),
configurable: !(bitmap & 2),
writable : !(bitmap & 4),
value : value
};
};
/***/ },
/* 34 */
/***/ function(module, exports) {
// Thank's IE8 for his funny defineProperty
module.exports = !!function(){
try {
return Object.defineProperty({}, 'a', {get: function(){ return 2; }}).a == 2;
} catch(e){ /* empty */ }
}();
/***/ },
/* 35 */
/***/ function(module, exports) {
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function(it, key){
return hasOwnProperty.call(it, key);
};
/***/ },
/* 36 */
/***/ function(module, exports, __webpack_require__) {
var store = __webpack_require__(37)('wks')
, Symbol = __webpack_require__(11).Symbol;
module.exports = function(name){
return store[name] || (store[name] =
Symbol && Symbol[name] || (Symbol || __webpack_require__(38))('Symbol.' + name));
};
/***/ },
/* 37 */
/***/ function(module, exports, __webpack_require__) {
var global = __webpack_require__(11)
, SHARED = '__core-js_shared__'
, store = global[SHARED] || (global[SHARED] = {});
module.exports = function(key){
return store[key] || (store[key] = {});
};
/***/ },
/* 38 */
/***/ function(module, exports) {
var id = 0
, px = Math.random();
module.exports = function(key){
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
/***/ },
/* 39 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var $ = __webpack_require__(4)
, IteratorPrototype = {};
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
__webpack_require__(32)(IteratorPrototype, __webpack_require__(36)('iterator'), function(){ return this; });
module.exports = function(Constructor, NAME, next){
Constructor.prototype = $.create(IteratorPrototype, {next: __webpack_require__(33)(1,next)});
__webpack_require__(40)(Constructor, NAME + ' Iterator');
};
/***/ },
/* 40 */
/***/ function(module, exports, __webpack_require__) {
var has = __webpack_require__(35)
, hide = __webpack_require__(32)
, TAG = __webpack_require__(36)('toStringTag');
module.exports = function(it, tag, stat){
if(it && !has(it = stat ? it : it.prototype, TAG))hide(it, TAG, tag);
};
/***/ },
/* 41 */
/***/ function(module, exports) {
// Safari has buggy iterators w/o `next`
module.exports = 'keys' in [] && !('next' in [].keys());
/***/ },
/* 42 */
/***/ function(module, exports, __webpack_require__) {
var $at = __webpack_require__(43)(true);
// 21.1.3.27 String.prototype[@@iterator]()
__webpack_require__(29)(String, 'String', function(iterated){
this._t = String(iterated); // target
this._i = 0; // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
}, function(){
var O = this._t
, index = this._i
, point;
if(index >= O.length)return {value: undefined, done: true};
point = $at(O, index);
this._i += point.length;
return {value: point, done: false};
});
/***/ },
/* 43 */
/***/ function(module, exports, __webpack_require__) {
// true -> String#at
// false -> String#codePointAt
var toInteger = __webpack_require__(44)
, defined = __webpack_require__(17);
module.exports = function(TO_STRING){
return function(that, pos){
var s = String(defined(that))
, i = toInteger(pos)
, l = s.length
, a, b;
if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
a = s.charCodeAt(i);
return a < 0xd800 || a > 0xdbff || i + 1 === l
|| (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
? TO_STRING ? s.charAt(i) : a
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
};
};
/***/ },
/* 44 */
/***/ function(module, exports) {
// 7.1.4 ToInteger
var ceil = Math.ceil
, floor = Math.floor;
module.exports = function(it){
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
/***/ },
/* 45 */
/***/ function(module, exports, __webpack_require__) {
var anObject = __webpack_require__(46)
, get = __webpack_require__(48);
module.exports = __webpack_require__(12).getIterator = function(it){
var iterFn = get(it);
if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');
return anObject(iterFn.call(it));
};
/***/ },
/* 46 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(47);
module.exports = function(it){
if(!isObject(it))throw TypeError(it + ' is not an object!');
return it;
};
/***/ },
/* 47 */
/***/ function(module, exports) {
// http://jsperf.com/core-js-isobject
module.exports = function(it){
return it !== null && (typeof it == 'object' || typeof it == 'function');
};
/***/ },
/* 48 */
/***/ function(module, exports, __webpack_require__) {
var global = __webpack_require__(11)
, classof = __webpack_require__(49)
, ITERATOR = __webpack_require__(36)('iterator')
, Iterators = __webpack_require__(28);
module.exports = __webpack_require__(12).getIteratorMethod = function(it){
var Symbol = global.Symbol;
if(it != undefined){
return it[Symbol && Symbol.iterator || '@@iterator']
|| it[ITERATOR]
|| Iterators[classof(it)];
}
};
/***/ },
/* 49 */
/***/ function(module, exports, __webpack_require__) {
var cof = __webpack_require__(16)
, TAG = __webpack_require__(36)('toStringTag')
// ES3 wrong here
, ARG = cof(function(){ return arguments; }()) == 'Arguments';
module.exports = function(it){
var O, T, B;
return it === undefined ? 'Undefined' : it === null ? 'Null'
// @@toStringTag case
: typeof (T = (O = Object(it))[TAG]) == 'string' ? T
// builtinTag case
: ARG ? cof(O)
// ES3 arguments fallback
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
};
/***/ },
/* 50 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _get = __webpack_require__(51)['default'];
var _inherits = __webpack_require__(56)['default'];
var _createClass = __webpack_require__(1)['default'];
var _classCallCheck = __webpack_require__(5)['default'];
var _interopRequireDefault = __webpack_require__(19)['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _react = __webpack_require__(65);
var _react2 = _interopRequireDefault(_react);
var _newTodo = __webpack_require__(221);
var _newTodo2 = _interopRequireDefault(_newTodo);
var _main = __webpack_require__(222);
var _main2 = _interopRequireDefault(_main);
var _filters = __webpack_require__(225);
var _filters2 = _interopRequireDefault(_filters);
var View = (function (_Component) {
_inherits(View, _Component);
function View() {
_classCallCheck(this, View);
_get(Object.getPrototypeOf(View.prototype), 'constructor', this).apply(this, arguments);
}
_createClass(View, [{
key: 'render',
value: function render() {
var _props = this.props;
var isAllCompleted = _props.isAllCompleted;
var todos = _props.todos;
var activeFilter = _props.activeFilter;
var completedCount = _props.completedCount;
var todoCount = _props.todoCount;
var process = _props.process;
return _react2['default'].createElement(
'div',
null,
_react2['default'].createElement(_newTodo2['default'], { process: process }),
_react2['default'].createElement(_main2['default'], {
isAllCompleted: isAllCompleted,
todos: todos,
process: process }),
_react2['default'].createElement(_filters2['default'], {
activeFilter: activeFilter,
completedCount: completedCount,
todoCount: todoCount,
process: process })
);
}
}]);
return View;
})(_react.Component);
exports['default'] = View;
module.exports = exports['default'];
/***/ },
/* 51 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var _Object$getOwnPropertyDescriptor = __webpack_require__(52)["default"];
exports["default"] = function get(_x, _x2, _x3) {
var _again = true;
_function: while (_again) {
var object = _x,
property = _x2,
receiver = _x3;
desc = parent = getter = undefined;
_again = false;
if (object === null) object = Function.prototype;
var desc = _Object$getOwnPropertyDescriptor(object, property);
if (desc === undefined) {
var parent = Object.getPrototypeOf(object);
if (parent === null) {
return undefined;
} else {
_x = parent;
_x2 = property;
_x3 = receiver;
_again = true;
continue _function;
}
} else if ("value" in desc) {
return desc.value;
} else {
var getter = desc.get;
if (getter === undefined) {
return undefined;
}
return getter.call(receiver);
}
}
};
exports.__esModule = true;
/***/ },
/* 52 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(53), __esModule: true };
/***/ },
/* 53 */
/***/ function(module, exports, __webpack_require__) {
var $ = __webpack_require__(4);
__webpack_require__(54);
module.exports = function getOwnPropertyDescriptor(it, key){
return $.getDesc(it, key);
};
/***/ },
/* 54 */
/***/ function(module, exports, __webpack_require__) {
var $ = __webpack_require__(4)
, core = __webpack_require__(12)
, $def = __webpack_require__(10)
, toObject = __webpack_require__(14)
, isObject = __webpack_require__(47);
$.each.call(('freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,' +
'getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames').split(',')
, function(KEY, ID){
var fn = (core.Object || {})[KEY] || Object[KEY]
, forced = 0
, method = {};
method[KEY] = ID == 0 ? function freeze(it){
return isObject(it) ? fn(it) : it;
} : ID == 1 ? function seal(it){
return isObject(it) ? fn(it) : it;
} : ID == 2 ? function preventExtensions(it){
return isObject(it) ? fn(it) : it;
} : ID == 3 ? function isFrozen(it){
return isObject(it) ? fn(it) : true;
} : ID == 4 ? function isSealed(it){
return isObject(it) ? fn(it) : true;
} : ID == 5 ? function isExtensible(it){
return isObject(it) ? fn(it) : false;
} : ID == 6 ? function getOwnPropertyDescriptor(it, key){
return fn(toObject(it), key);
} : ID == 7 ? function getPrototypeOf(it){
return fn(toObject(it, true));
} : ID == 8 ? function keys(it){
return fn(toObject(it));
} : __webpack_require__(55).get;
try {
fn('z');
} catch(e){
forced = 1;
}
$def($def.S + $def.F * forced, 'Object', method);
});
/***/ },
/* 55 */
/***/ function(module, exports, __webpack_require__) {
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
var toString = {}.toString
, toObject = __webpack_require__(14)
, getNames = __webpack_require__(4).getNames;
var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
? Object.getOwnPropertyNames(window) : [];
function getWindowNames(it){
try {
return getNames(it);
} catch(e){
return windowNames.slice();
}
}
module.exports.get = function getOwnPropertyNames(it){
if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
return getNames(toObject(it));
};
/***/ },
/* 56 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var _Object$create = __webpack_require__(57)["default"];
var _Object$setPrototypeOf = __webpack_require__(59)["default"];
exports["default"] = function (subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
}
subClass.prototype = _Object$create(superClass && superClass.prototype, {
constructor: {
value: subClass,
enumerable: false,
writable: true,
configurable: true
}
});
if (superClass) _Object$setPrototypeOf ? _Object$setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
};
exports.__esModule = true;
/***/ },
/* 57 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(58), __esModule: true };
/***/ },
/* 58 */
/***/ function(module, exports, __webpack_require__) {
var $ = __webpack_require__(4);
module.exports = function create(P, D){
return $.create(P, D);
};
/***/ },
/* 59 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(60), __esModule: true };
/***/ },
/* 60 */
/***/ function(module, exports, __webpack_require__) {
__webpack_require__(61);
module.exports = __webpack_require__(12).Object.setPrototypeOf;
/***/ },
/* 61 */
/***/ function(module, exports, __webpack_require__) {
// 19.1.3.19 Object.setPrototypeOf(O, proto)
var $def = __webpack_require__(10);
$def($def.S, 'Object', {setPrototypeOf: __webpack_require__(62).set});
/***/ },
/* 62 */
/***/ function(module, exports, __webpack_require__) {
// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
var getDesc = __webpack_require__(4).getDesc
, isObject = __webpack_require__(47)
, anObject = __webpack_require__(46);
function check(O, proto){
anObject(O);
if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
}
module.exports = {
set: Object.setPrototypeOf || ('__proto__' in {} // eslint-disable-line
? function(buggy, set){
try {
set = __webpack_require__(63)(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
set({}, []);
} catch(e){ buggy = true; }
return function setPrototypeOf(O, proto){
check(O, proto);
if(buggy)O.__proto__ = proto;
else set(O, proto);
return O;
};
}()
: undefined),
check: check
};
/***/ },
/* 63 */
/***/ function(module, exports, __webpack_require__) {
// Optional / simple context binding
var aFunction = __webpack_require__(64);
module.exports = function(fn, that, length){
aFunction(fn);
if(~length && that === undefined)return fn;
switch(length){
case 1: return function(a){
return fn.call(that, a);
};
case 2: return function(a, b){
return fn.call(that, a, b);
};
case 3: return function(a, b, c){
return fn.call(that, a, b, c);
};
} return function(/* ...args */){
return fn.apply(that, arguments);
};
};
/***/ },
/* 64 */
/***/ function(module, exports) {
module.exports = function(it){
if(typeof it != 'function')throw TypeError(it + ' is not a function!');
return it;
};
/***/ },
/* 65 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(66);
/***/ },
/* 66 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule React
*/
/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/
'use strict';
var EventPluginUtils = __webpack_require__(68);
var ReactChildren = __webpack_require__(72);
var ReactComponent = __webpack_require__(86);
var ReactClass = __webpack_require__(101);
var ReactContext = __webpack_require__(76);
var ReactCurrentOwner = __webpack_require__(81);
var ReactElement = __webpack_require__(75);
var ReactElementValidator = __webpack_require__(96);
var ReactDOM = __webpack_require__(104);
var ReactDOMTextComponent = __webpack_require__(106);
var ReactDefaultInjection = __webpack_require__(155);
var ReactInstanceHandles = __webpack_require__(83);
var ReactMount = __webpack_require__(131);
var ReactPerf = __webpack_require__(92);
var ReactPropTypes = __webpack_require__(186);
var ReactReconciler = __webpack_require__(93);
var ReactServerRendering = __webpack_require__(218);
var assign = __webpack_require__(77);
var findDOMNode = __webpack_require__(175);
var onlyChild = __webpack_require__(220);
ReactDefaultInjection.inject();
var createElement = ReactElement.createElement;
var createFactory = ReactElement.createFactory;
var cloneElement = ReactElement.cloneElement;
if ("production" !== process.env.NODE_ENV) {
createElement = ReactElementValidator.createElement;
createFactory = ReactElementValidator.createFactory;
cloneElement = ReactElementValidator.cloneElement;
}
var render = ReactPerf.measure('React', 'render', ReactMount.render);
var React = {
Children: {
map: ReactChildren.map,
forEach: ReactChildren.forEach,
count: ReactChildren.count,
only: onlyChild
},
Component: ReactComponent,
DOM: ReactDOM,
PropTypes: ReactPropTypes,
initializeTouchEvents: function(shouldUseTouch) {
EventPluginUtils.useTouchEvents = shouldUseTouch;
},
createClass: ReactClass.createClass,
createElement: createElement,
cloneElement: cloneElement,
createFactory: createFactory,
createMixin: function(mixin) {
// Currently a noop. Will be used to validate and trace mixins.
return mixin;
},
constructAndRenderComponent: ReactMount.constructAndRenderComponent,
constructAndRenderComponentByID: ReactMount.constructAndRenderComponentByID,
findDOMNode: findDOMNode,
render: render,
renderToString: ReactServerRendering.renderToString,
renderToStaticMarkup: ReactServerRendering.renderToStaticMarkup,
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
isValidElement: ReactElement.isValidElement,
withContext: ReactContext.withContext,
// Hook for JSX spread, don't use this for anything else.
__spread: assign
};
// Inject the runtime into a devtools global hook regardless of browser.
// Allows for debugging when the hook is injected on the page.
if (
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
CurrentOwner: ReactCurrentOwner,
InstanceHandles: ReactInstanceHandles,
Mount: ReactMount,
Reconciler: ReactReconciler,
TextComponent: ReactDOMTextComponent
});
}
if ("production" !== process.env.NODE_ENV) {
var ExecutionEnvironment = __webpack_require__(115);
if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
// If we're in Chrome, look for the devtools marker and provide a download
// link if not installed.
if (navigator.userAgent.indexOf('Chrome') > -1) {
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
console.debug(
'Download the React DevTools for a better development experience: ' +
'https://fb.me/react-devtools'
);
}
}
var expectedFeatures = [
// shims
Array.isArray,
Array.prototype.every,
Array.prototype.forEach,
Array.prototype.indexOf,
Array.prototype.map,
Date.now,
Function.prototype.bind,
Object.keys,
String.prototype.split,
String.prototype.trim,
// shams
Object.create,
Object.freeze
];
for (var i = 0; i < expectedFeatures.length; i++) {
if (!expectedFeatures[i]) {
console.error(
'One or more ES5 shim/shams expected by React are not available: ' +
'https://fb.me/react-warning-polyfills'
);
break;
}
}
}
}
React.version = '0.13.3';
module.exports = React;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(67)))
/***/ },
/* 67 */
/***/ function(module, exports) {
// shim for using process in browser
var process = module.exports = {};
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;
function cleanUpNextTick() {
draining = false;
if (currentQueue.length) {
queue = currentQueue.concat(queue);
} else {
queueIndex = -1;
}
if (queue.length) {
drainQueue();
}
}
function drainQueue() {
if (draining) {
return;
}
var timeout = setTimeout(cleanUpNextTick);
draining = true;
var len = queue.length;
while(len) {
currentQueue = queue;
queue = [];
while (++queueIndex < len) {
currentQueue[queueIndex].run();
}
queueIndex = -1;
len = queue.length;
}
currentQueue = null;
draining = false;
clearTimeout(timeout);
}
process.nextTick = function (fun) {
var args = new Array(arguments.length - 1);
if (arguments.length > 1) {
for (var i = 1; i < arguments.length; i++) {
args[i - 1] = arguments[i];
}
}
queue.push(new Item(fun, args));
if (queue.length === 1 && !draining) {
setTimeout(drainQueue, 0);
}
};
// v8 likes predictible objects
function Item(fun, array) {
this.fun = fun;
this.array = array;
}
Item.prototype.run = function () {
this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};
function noop() {}
process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.binding = function (name) {
throw new Error('process.binding is not supported');
};
// TODO(shtylman)
process.cwd = function () { return '/' };
process.chdir = function (dir) {
throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };
/***/ },
/* 68 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EventPluginUtils
*/
'use strict';
var EventConstants = __webpack_require__(69);
var invariant = __webpack_require__(71);
/**
* Injected dependencies:
*/
/**
* - `Mount`: [required] Module that can convert between React dom IDs and
* actual node references.
*/
var injection = {
Mount: null,
injectMount: function(InjectedMount) {
injection.Mount = InjectedMount;
if ("production" !== process.env.NODE_ENV) {
("production" !== process.env.NODE_ENV ? invariant(
InjectedMount && InjectedMount.getNode,
'EventPluginUtils.injection.injectMount(...): Injected Mount module ' +
'is missing getNode.'
)