angular-gantt
Version:
Gantt chart component for AngularJS
1,356 lines (1,058 loc) • 570 kB
JavaScript
/*!
* Project: angular-gantt v2.0.0-rc.1 - Gantt chart component for AngularJS
* Authors: Rémi Alvergnat <toilal.dev@gmail.com> (https://www.pragmasphere.com), Marco Schweighauser
* License: MIT
* Homepage: https://www.angular-gantt.com
* Github: https://github.com/angular-gantt/angular-gantt.git
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("angular"), require("moment"), require("ElementQueries"), require("ResizeSensor"), require("angular-native-dragdrop"), require("jsPlumb"), require("ui.tree"));
else if(typeof define === 'function' && define.amd)
define("angular-gantt-plugins", ["angular", "moment", "ElementQueries", "ResizeSensor", "angular-native-dragdrop", "jsPlumb", "ui.tree"], factory);
else if(typeof exports === 'object')
exports["angular-gantt-plugins"] = factory(require("angular"), require("moment"), require("ElementQueries"), require("ResizeSensor"), require("angular-native-dragdrop"), require("jsPlumb"), require("ui.tree"));
else
root["angular-gantt-plugins"] = factory(root["angular"], root["moment"], root["ElementQueries"], root["ResizeSensor"], root["angular-native-dragdrop"], root["jsPlumb"], root["ui.tree"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_261__, __WEBPACK_EXTERNAL_MODULE_262__, __WEBPACK_EXTERNAL_MODULE_263__, __WEBPACK_EXTERNAL_MODULE_264__, __WEBPACK_EXTERNAL_MODULE_265__) {
return /******/ (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] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = 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;
/******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function(value) { return value; };
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 175);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _defineProperty = __webpack_require__(126);
var _defineProperty2 = _interopRequireDefault(_defineProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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;
(0, _defineProperty2.default)(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
/***/ }),
/* 2 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
/***/ }),
/* 3 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_3__;
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(133), __esModule: true };
/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _iterator = __webpack_require__(130);
var _iterator2 = _interopRequireDefault(_iterator);
var _symbol = __webpack_require__(129);
var _symbol2 = _interopRequireDefault(_symbol);
var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof(obj);
} : function (obj) {
return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
};
/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _angular = __webpack_require__(2);
var _angular2 = _interopRequireDefault(_angular);
var _gantt = __webpack_require__(64);
var _gantt2 = _interopRequireDefault(_gantt);
var _resizer = __webpack_require__(83);
var _resizer2 = _interopRequireDefault(_resizer);
var _containerHeightListener = __webpack_require__(89);
var _containerHeightListener2 = _interopRequireDefault(_containerHeightListener);
var _containerWidthListener = __webpack_require__(90);
var _containerWidthListener2 = _interopRequireDefault(_containerWidthListener);
var _elementHeightListener = __webpack_require__(91);
var _elementHeightListener2 = _interopRequireDefault(_elementHeightListener);
var _elementWidthListener = __webpack_require__(92);
var _elementWidthListener2 = _interopRequireDefault(_elementWidthListener);
var _horizontalScrollReceiver = __webpack_require__(84);
var _horizontalScrollReceiver2 = _interopRequireDefault(_horizontalScrollReceiver);
var _scrollable = __webpack_require__(87);
var _scrollable2 = _interopRequireDefault(_scrollable);
var _scrollManager = __webpack_require__(85);
var _scrollManager2 = _interopRequireDefault(_scrollManager);
var _scrollSender = __webpack_require__(86);
var _scrollSender2 = _interopRequireDefault(_scrollSender);
var _verticalScrollReceiver = __webpack_require__(88);
var _verticalScrollReceiver2 = _interopRequireDefault(_verticalScrollReceiver);
var _body = __webpack_require__(93);
var _body2 = _interopRequireDefault(_body);
var _bodyBackground = __webpack_require__(94);
var _bodyBackground2 = _interopRequireDefault(_bodyBackground);
var _bodyColumns = __webpack_require__(95);
var _bodyColumns2 = _interopRequireDefault(_bodyColumns);
var _bodyForeground = __webpack_require__(96);
var _bodyForeground2 = _interopRequireDefault(_bodyForeground);
var _bodyRows = __webpack_require__(97);
var _bodyRows2 = _interopRequireDefault(_bodyRows);
var _column = __webpack_require__(98);
var _column2 = _interopRequireDefault(_column);
var _columnHeader = __webpack_require__(99);
var _columnHeader2 = _interopRequireDefault(_columnHeader);
var _header = __webpack_require__(100);
var _header2 = _interopRequireDefault(_header);
var _headerColumns = __webpack_require__(101);
var _headerColumns2 = _interopRequireDefault(_headerColumns);
var _row = __webpack_require__(102);
var _row2 = _interopRequireDefault(_row);
var _rowBackground = __webpack_require__(103);
var _rowBackground2 = _interopRequireDefault(_rowBackground);
var _rowLabel = __webpack_require__(104);
var _rowLabel2 = _interopRequireDefault(_rowLabel);
var _scrollableHeader = __webpack_require__(105);
var _scrollableHeader2 = _interopRequireDefault(_scrollableHeader);
var _side = __webpack_require__(106);
var _side2 = _interopRequireDefault(_side);
var _sideBackground = __webpack_require__(107);
var _sideBackground2 = _interopRequireDefault(_sideBackground);
var _sideContent = __webpack_require__(108);
var _sideContent2 = _interopRequireDefault(_sideContent);
var _task = __webpack_require__(109);
var _task2 = _interopRequireDefault(_task);
var _taskBackground = __webpack_require__(110);
var _taskBackground2 = _interopRequireDefault(_taskBackground);
var _taskContent = __webpack_require__(111);
var _taskContent2 = _interopRequireDefault(_taskContent);
var _taskForeground = __webpack_require__(112);
var _taskForeground2 = _interopRequireDefault(_taskForeground);
var _timeFrame = __webpack_require__(113);
var _timeFrame2 = _interopRequireDefault(_timeFrame);
var _timespan = __webpack_require__(114);
var _timespan2 = _interopRequireDefault(_timespan);
var _ganttBindCompileHtml = __webpack_require__(119);
var _ganttBindCompileHtml2 = _interopRequireDefault(_ganttBindCompileHtml);
var _gantt3 = __webpack_require__(68);
var _gantt4 = _interopRequireDefault(_gantt3);
var _api = __webpack_require__(37);
var _api2 = _interopRequireDefault(_api);
var _options = __webpack_require__(38);
var _options2 = _interopRequireDefault(_options);
var _calendar = __webpack_require__(39);
var _calendar2 = _interopRequireDefault(_calendar);
var _scroll = __webpack_require__(47);
var _scroll2 = _interopRequireDefault(_scroll);
var _body3 = __webpack_require__(45);
var _body4 = _interopRequireDefault(_body3);
var _bodyColumns3 = __webpack_require__(72);
var _bodyColumns4 = _interopRequireDefault(_bodyColumns3);
var _bodyRows3 = __webpack_require__(74);
var _bodyRows4 = _interopRequireDefault(_bodyRows3);
var _bodyBackground3 = __webpack_require__(71);
var _bodyBackground4 = _interopRequireDefault(_bodyBackground3);
var _bodyForeground3 = __webpack_require__(73);
var _bodyForeground4 = _interopRequireDefault(_bodyForeground3);
var _header3 = __webpack_require__(46);
var _header4 = _interopRequireDefault(_header3);
var _headerColumns3 = __webpack_require__(75);
var _headerColumns4 = _interopRequireDefault(_headerColumns3);
var _side3 = __webpack_require__(48);
var _side4 = _interopRequireDefault(_side3);
var _objectModel = __webpack_require__(43);
var _objectModel2 = _interopRequireDefault(_objectModel);
var _task3 = __webpack_require__(70);
var _task4 = _interopRequireDefault(_task3);
var _row3 = __webpack_require__(69);
var _row4 = _interopRequireDefault(_row3);
var _rowsManager = __webpack_require__(44);
var _rowsManager2 = _interopRequireDefault(_rowsManager);
var _column3 = __webpack_require__(23);
var _column4 = _interopRequireDefault(_column3);
var _columnBuilder = __webpack_require__(65);
var _columnBuilder2 = _interopRequireDefault(_columnBuilder);
var _columnHeader3 = __webpack_require__(41);
var _columnHeader4 = _interopRequireDefault(_columnHeader3);
var _columnsManager = __webpack_require__(42);
var _columnsManager2 = _interopRequireDefault(_columnsManager);
var _timespan3 = __webpack_require__(76);
var _timespan4 = _interopRequireDefault(_timespan3);
var _timespansManager = __webpack_require__(49);
var _timespansManager2 = _interopRequireDefault(_timespansManager);
var _currentDateManager = __webpack_require__(40);
var _currentDateManager2 = _interopRequireDefault(_currentDateManager);
var _hierarchy = __webpack_require__(79);
var _hierarchy2 = _interopRequireDefault(_hierarchy);
var _debounce = __webpack_require__(115);
var _debounce2 = _interopRequireDefault(_debounce);
var _smartEvent = __webpack_require__(123);
var _smartEvent2 = _interopRequireDefault(_smartEvent);
var _directiveBuilder = __webpack_require__(116);
var _directiveBuilder2 = _interopRequireDefault(_directiveBuilder);
var _enableNgAnimate = __webpack_require__(118);
var _enableNgAnimate2 = _interopRequireDefault(_enableNgAnimate);
var _utils = __webpack_require__(80);
var _utils2 = _interopRequireDefault(_utils);
var _arrays = __webpack_require__(77);
var _arrays2 = _interopRequireDefault(_arrays);
var _binarySearch = __webpack_require__(78);
var _binarySearch2 = _interopRequireDefault(_binarySearch);
var _layout = __webpack_require__(120);
var _layout2 = _interopRequireDefault(_layout);
var _headersGenerator = __webpack_require__(67);
var _headersGenerator2 = _interopRequireDefault(_headersGenerator);
var _columnGenerator = __webpack_require__(66);
var _columnGenerator2 = _interopRequireDefault(_columnGenerator);
var _dom = __webpack_require__(117);
var _dom2 = _interopRequireDefault(_dom);
var _mouseButton = __webpack_require__(121);
var _mouseButton2 = _interopRequireDefault(_mouseButton);
var _mouseOffset = __webpack_require__(122);
var _mouseOffset2 = _interopRequireDefault(_mouseOffset);
var _columnLimit = __webpack_require__(81);
var _columnLimit2 = _interopRequireDefault(_columnLimit);
var _taskLimit = __webpack_require__(82);
var _taskLimit2 = _interopRequireDefault(_taskLimit);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
__webpack_require__(124);
__webpack_require__(63);
var _module = 'gantt';
_angular2.default.module(_module, []).directive('gantt', _gantt2.default).directive('ganttResizer', _resizer2.default).directive('ganttContainerWidthListener', _containerWidthListener2.default).directive('ganttContainerHeightListener', _containerHeightListener2.default).directive('ganttElementWidthListener', _elementWidthListener2.default).directive('ganttElementHeightListener', _elementHeightListener2.default).directive('ganttHorizontalScrollReceiver', _horizontalScrollReceiver2.default).directive('ganttScrollable', _scrollable2.default).directive('ganttScrollManager', _scrollManager2.default).directive('ganttScrollSender', _scrollSender2.default).directive('ganttVerticalScrollReceiver', _verticalScrollReceiver2.default).directive('ganttBindCompileHtml', _ganttBindCompileHtml2.default).directive('ganttBody', _body2.default).directive('ganttBodyBackground', _bodyBackground2.default).directive('ganttBodyColumns', _bodyColumns2.default).directive('ganttBodyForeground', _bodyForeground2.default).directive('ganttBodyRows', _bodyRows2.default).directive('ganttColumn', _column2.default).directive('ganttColumnHeader', _columnHeader2.default).directive('ganttHeader', _header2.default).directive('ganttHeaderColumns', _headerColumns2.default).directive('ganttRow', _row2.default).directive('ganttRowBackground', _rowBackground2.default).directive('ganttRowLabel', _rowLabel2.default).directive('ganttScrollableHeader', _scrollableHeader2.default).directive('ganttSide', _side2.default).directive('ganttSideBackground', _sideBackground2.default).directive('ganttSideContent', _sideContent2.default).directive('ganttTask', _task2.default).directive('ganttTaskBackground', _taskBackground2.default).directive('ganttTaskContent', _taskContent2.default).directive('ganttTaskForeground', _taskForeground2.default).directive('ganttTimeFrame', _timeFrame2.default).directive('ganttTimespan', _timespan2.default).factory('GanttDirectiveBuilder', _directiveBuilder2.default).factory('Gantt', _gantt4.default).factory('GanttApi', _api2.default).factory('GanttOptions', _options2.default).factory('GanttCalendar', _calendar2.default).factory('GanttScroll', _scroll2.default).factory('GanttBody', _body4.default).factory('GanttBodyColumns', _bodyColumns4.default).factory('GanttBodyRows', _bodyRows4.default).factory('GanttBodyBackground', _bodyBackground4.default).factory('GanttBodyForeground', _bodyForeground4.default).factory('GanttHeader', _header4.default).factory('GanttHeaderColumns', _headerColumns4.default).factory('GanttSide', _side4.default).factory('GanttObjectModel', _objectModel2.default).factory('GanttTask', _task4.default).factory('GanttRow', _row4.default).factory('GanttRowsManager', _rowsManager2.default).factory('GanttColumn', _column4.default).factory('GanttColumnHeader', _columnHeader4.default).factory('GanttColumnBuilder', _columnBuilder2.default).factory('GanttColumnsManager', _columnsManager2.default).factory('GanttTimespan', _timespan4.default).factory('GanttTimespansManager', _timespansManager2.default).factory('GanttCurrentDateManager', _currentDateManager2.default).factory('GanttHierarchy', _hierarchy2.default).factory('ganttDebounce', _debounce2.default).factory('GanttSmartEvent', _smartEvent2.default).service('ganttEnableNgAnimate', _enableNgAnimate2.default).service('ganttUtils', _utils2.default).service('ganttArrays', _arrays2.default).service('ganttBinarySearch', _binarySearch2.default).service('ganttLayout', _layout2.default).service('GanttHeadersGenerator', _headersGenerator2.default).service('GanttColumnGenerator', _columnGenerator2.default).service('ganttDom', _dom2.default).service('ganttMouseButton', _mouseButton2.default).service('ganttMouseOffset', _mouseOffset2.default).filter('ganttColumnLimit', _columnLimit2.default).filter('ganttTaskLimit', _taskLimit2.default);
exports.default = _module;
/***/ }),
/* 7 */
/***/ (function(module, exports) {
var core = module.exports = {version: '2.4.0'};
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
/***/ }),
/* 8 */
/***/ (function(module, exports) {
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math
? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {
var store = __webpack_require__(32)('wks')
, uid = __webpack_require__(22)
, Symbol = __webpack_require__(8).Symbol
, USE_SYMBOL = typeof Symbol == 'function';
var $exports = module.exports = function(name){
return store[name] || (store[name] =
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
};
$exports.store = store;
/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {
// Thank's IE8 for his funny defineProperty
module.exports = !__webpack_require__(17)(function(){
return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
});
/***/ }),
/* 11 */
/***/ (function(module, exports) {
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function(it, key){
return hasOwnProperty.call(it, key);
};
/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {
var anObject = __webpack_require__(14)
, IE8_DOM_DEFINE = __webpack_require__(52)
, toPrimitive = __webpack_require__(34)
, dP = Object.defineProperty;
exports.f = __webpack_require__(10) ? Object.defineProperty : function defineProperty(O, P, Attributes){
anObject(O);
P = toPrimitive(P, true);
anObject(Attributes);
if(IE8_DOM_DEFINE)try {
return dP(O, P, Attributes);
} catch(e){ /* empty */ }
if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
if('value' in Attributes)O[P] = Attributes.value;
return O;
};
/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = __webpack_require__(146)
, defined = __webpack_require__(25);
module.exports = function(it){
return IObject(defined(it));
};
/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(18);
module.exports = function(it){
if(!isObject(it))throw TypeError(it + ' is not an object!');
return it;
};
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(8)
, core = __webpack_require__(7)
, ctx = __webpack_require__(50)
, hide = __webpack_require__(16)
, PROTOTYPE = 'prototype';
var $export = function(type, name, source){
var IS_FORCED = type & $export.F
, IS_GLOBAL = type & $export.G
, IS_STATIC = type & $export.S
, IS_PROTO = type & $export.P
, IS_BIND = type & $export.B
, IS_WRAP = type & $export.W
, exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
, expProto = exports[PROTOTYPE]
, target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
, key, own, out;
if(IS_GLOBAL)source = name;
for(key in source){
// contains in native
own = !IS_FORCED && target && target[key] !== undefined;
if(own && key in exports)continue;
// export native or passed
out = own ? target[key] : source[key];
// prevent global pollution for namespaces
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
// bind timers to global for call from export context
: IS_BIND && own ? ctx(out, global)
// wrap global constructors for prevent change them in library
: IS_WRAP && target[key] == out ? (function(C){
var F = function(a, b, c){
if(this instanceof C){
switch(arguments.length){
case 0: return new C;
case 1: return new C(a);
case 2: return new C(a, b);
} return new C(a, b, c);
} return C.apply(this, arguments);
};
F[PROTOTYPE] = C[PROTOTYPE];
return F;
// make static versions for prototype methods
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
if(IS_PROTO){
(exports.virtual || (exports.virtual = {}))[key] = out;
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);
}
}
};
// type bitmap
$export.F = 1; // forced
$export.G = 2; // global
$export.S = 4; // static
$export.P = 8; // proto
$export.B = 16; // bind
$export.W = 32; // wrap
$export.U = 64; // safe
$export.R = 128; // real proto method for `library`
module.exports = $export;
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
var dP = __webpack_require__(12)
, createDesc = __webpack_require__(21);
module.exports = __webpack_require__(10) ? function(object, key, value){
return dP.f(object, key, createDesc(1, value));
} : function(object, key, value){
object[key] = value;
return object;
};
/***/ }),
/* 17 */
/***/ (function(module, exports) {
module.exports = function(exec){
try {
return !!exec();
} catch(e){
return true;
}
};
/***/ }),
/* 18 */
/***/ (function(module, exports) {
module.exports = function(it){
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
/***/ }),
/* 19 */
/***/ (function(module, exports) {
module.exports = {};
/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys = __webpack_require__(58)
, enumBugKeys = __webpack_require__(26);
module.exports = Object.keys || function keys(O){
return $keys(O, enumBugKeys);
};
/***/ }),
/* 21 */
/***/ (function(module, exports) {
module.exports = function(bitmap, value){
return {
enumerable : !(bitmap & 1),
configurable: !(bitmap & 2),
writable : !(bitmap & 4),
value : value
};
};
/***/ }),
/* 22 */
/***/ (function(module, exports) {
var id = 0
, px = Math.random();
module.exports = function(key){
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GanttColumn = undefined;
var _getIterator2 = __webpack_require__(4);
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _classCallCheck2 = __webpack_require__(0);
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = __webpack_require__(1);
var _createClass3 = _interopRequireDefault(_createClass2);
exports.default = function () {
'ngInject';
return GanttColumn;
};
var _moment = __webpack_require__(3);
var _moment2 = _interopRequireDefault(_moment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GanttColumn = exports.GanttColumn = function () {
function GanttColumn(date, endDate, left, width, calendar, timeFramesWorkingMode, timeFramesNonWorkingMode) {
(0, _classCallCheck3.default)(this, GanttColumn);
this.timeFrames = [];
this.visibleTimeFrames = [];
this.daysTimeFrames = {};
this.currentDate = false;
this.cropped = false;
this.date = date;
this.endDate = endDate;
this.left = left;
this.width = width;
this.calendar = calendar;
this.duration = this.endDate.diff(this.date, 'milliseconds');
this.timeFramesWorkingMode = timeFramesWorkingMode;
this.timeFramesNonWorkingMode = timeFramesNonWorkingMode;
this.timeFrames = [];
this.visibleTimeFrames = [];
this.daysTimeFrames = {};
this.originalSize = { left: this.left, width: this.width };
this.updateTimeFrames();
}
(0, _createClass3.default)(GanttColumn, [{
key: 'getDateKey',
value: function getDateKey(date) {
return date.year() + '-' + date.month() + '-' + date.date();
}
}, {
key: 'updateView',
value: function updateView() {
if (this.$element) {
if (this.currentDate) {
this.$element.addClass('gantt-foreground-col-current-date');
} else {
this.$element.removeClass('gantt-foreground-col-current-date');
}
this.$element.css({ 'left': this.left + 'px', 'width': this.width + 'px' });
this.timeFrames.forEach(function (timeFrame) {
return timeFrame.updateView();
});
}
}
}, {
key: 'updateTimeFrames',
value: function updateTimeFrames() {
if (this.calendar !== undefined && (this.timeFramesNonWorkingMode !== 'hidden' || this.timeFramesWorkingMode !== 'hidden')) {
var cDate = this.date;
var cDateStartOfDay = (0, _moment2.default)(cDate).startOf('day');
var cDateNextDay = cDateStartOfDay.add(1, 'day');
var i = void 0;
while (cDate < this.endDate) {
var timeFrames = this.calendar.getTimeFrames(cDate);
var nextCDate = _moment2.default.min(cDateNextDay, this.endDate);
timeFrames = this.calendar.solve(timeFrames, cDate, nextCDate);
var cTimeFrames = [];
for (i = 0; i < timeFrames.length; i++) {
var cTimeFrame = timeFrames[i];
var start = cTimeFrame.start;
if (start === undefined) {
start = cDate;
}
var end = cTimeFrame.end;
if (end === undefined) {
end = nextCDate;
}
if (start < this.date) {
start = this.date;
}
if (end > this.endDate) {
end = this.endDate;
}
cTimeFrame = cTimeFrame.clone();
cTimeFrame.start = (0, _moment2.default)(start);
cTimeFrame.end = (0, _moment2.default)(end);
cTimeFrames.push(cTimeFrame);
}
this.timeFrames = this.timeFrames.concat(cTimeFrames);
var cDateKey = this.getDateKey(cDate);
this.daysTimeFrames[cDateKey] = cTimeFrames;
cDate = nextCDate;
cDateStartOfDay = (0, _moment2.default)(cDate).startOf('day');
cDateNextDay = cDateStartOfDay.add(1, 'day');
}
for (i = 0; i < this.timeFrames.length; i++) {
var timeFrame = this.timeFrames[i];
var positionDuration = timeFrame.start.diff(this.date, 'milliseconds');
var position = positionDuration / this.duration * this.width;
var timeFrameDuration = timeFrame.end.diff(timeFrame.start, 'milliseconds');
var timeFramePosition = timeFrameDuration / this.duration * this.width;
var hidden = false;
if (timeFrame.working && this.timeFramesWorkingMode !== 'visible') {
hidden = true;
} else if (!timeFrame.working && this.timeFramesNonWorkingMode !== 'visible') {
hidden = true;
}
if (!hidden) {
this.visibleTimeFrames.push(timeFrame);
}
timeFrame.hidden = hidden;
timeFrame.left = position;
timeFrame.width = timeFramePosition;
timeFrame.originalSize = { left: timeFrame.left, width: timeFrame.width };
}
if (this.timeFramesNonWorkingMode === 'cropped' || this.timeFramesWorkingMode === 'cropped') {
var timeFramesWidth = 0;
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = (0, _getIterator3.default)(this.timeFrames), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var aTimeFrame = _step.value;
if (!aTimeFrame.working && this.timeFramesNonWorkingMode !== 'cropped' || aTimeFrame.working && this.timeFramesWorkingMode !== 'cropped') {
timeFramesWidth += aTimeFrame.width;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
if (timeFramesWidth !== this.width) {
var croppedRatio = this.width / timeFramesWidth;
var croppedWidth = 0;
var originalCroppedWidth = 0;
var allCropped = true;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = (0, _getIterator3.default)(this.timeFrames), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var bTimeFrame = _step2.value;
if (!bTimeFrame.working && this.timeFramesNonWorkingMode !== 'cropped' || bTimeFrame.working && this.timeFramesWorkingMode !== 'cropped') {
bTimeFrame.left = (bTimeFrame.left - croppedWidth) * croppedRatio;
bTimeFrame.width = bTimeFrame.width * croppedRatio;
bTimeFrame.originalSize.left = (bTimeFrame.originalSize.left - originalCroppedWidth) * croppedRatio;
bTimeFrame.originalSize.width = bTimeFrame.originalSize.width * croppedRatio;
bTimeFrame.cropped = false;
allCropped = false;
} else {
croppedWidth += bTimeFrame.width;
originalCroppedWidth += bTimeFrame.originalSize.width;
bTimeFrame.left = undefined;
bTimeFrame.width = 0;
bTimeFrame.originalSize = { left: undefined, width: 0 };
bTimeFrame.cropped = true;
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
this.cropped = allCropped;
} else {
this.cropped = false;
}
}
}
}
}, {
key: 'clone',
value: function clone() {
return new GanttColumn((0, _moment2.default)(this.date), (0, _moment2.default)(this.endDate), this.left, this.width, this.calendar);
}
}, {
key: 'containsDate',
value: function containsDate(date) {
return date > this.date && date <= this.endDate;
}
}, {
key: 'equals',
value: function equals(other) {
return this.date === other.date;
}
}, {
key: 'roundTo',
value: function roundTo(date, unit, offset, midpoint) {
if (unit === 'day') {
unit = 'date';
}
offset = offset || 1;
var value = date.get(unit);
switch (midpoint) {
case 'up':
value = Math.ceil(value / offset);
break;
case 'down':
value = Math.floor(value / offset);
break;
default:
value = Math.round(value / offset);
break;
}
var units = ['millisecond', 'second', 'minute', 'hour', 'date', 'month', 'year'];
date.set(unit, value * offset);
var indexOf = units.indexOf(unit);
for (var i = 0; i < indexOf; i++) {
date.set(units[i], 0);
}
return date;
}
}, {
key: 'getMagnetDate',
value: function getMagnetDate(date, magnetValue, magnetUnit, timeFramesMagnet) {
if (magnetValue > 0 && magnetUnit !== undefined) {
var initialDate = date;
date = (0, _moment2.default)(date);
if (magnetUnit === 'column') {
var position = this.getPositionByDate(date);
if (position < this.width / 2) {
date = (0, _moment2.default)(this.date);
} else {
date = (0, _moment2.default)(this.endDate);
}
} else {
date = this.roundTo(date, magnetUnit, magnetValue);
if (date < this.date) {
date = (0, _moment2.default)(this.date);
} else if (date > this.endDate) {
date = (0, _moment2.default)(this.endDate);
}
}
if (timeFramesMagnet) {
var maxTimeFrameDiff = Math.abs(initialDate.diff(date, 'milliseconds'));
var currentTimeFrameDiff = void 0;
for (var i = 0; i < this.timeFrames.length; i++) {
var timeFrame = this.timeFrames[i];
if (timeFrame.magnet) {
var previousTimeFrame = this.timeFrames[i - 1];
var nextTimeFrame = this.timeFrames[i + 1];
var timeFrameDiff = void 0;
if (previousTimeFrame === undefined || previousTimeFrame.working !== timeFrame.working) {
timeFrameDiff = Math.abs(initialDate.diff(timeFrame.start, 'milliseconds'));
if (timeFrameDiff < maxTimeFrameDiff && (currentTimeFrameDiff === undefined || timeFrameDiff < currentTimeFrameDiff)) {
currentTimeFrameDiff = timeFrameDiff;
date = timeFrame.start;
}
}
if (nextTimeFrame === undefined || nextTimeFrame.working !== timeFrame.working) {
timeFrameDiff = Math.abs(initialDate.diff(timeFrame.end, 'milliseconds'));
if (timeFrameDiff < maxTimeFrameDiff && (currentTimeFrameDiff === undefined || timeFrameDiff < currentTimeFrameDiff)) {
currentTimeFrameDiff = timeFrameDiff;
date = timeFrame.end;
}
}
}
}
}
}
return date;
}
}, {
key: 'getDateByPositionUsingTimeFrames',
value: function getDateByPositionUsingTimeFrames(position) {
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator3 = (0, _getIterator3.default)(this.timeFrames), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var timeFrame = _step3.value;
if (!timeFrame.cropped && position >= timeFrame.left && position <= timeFrame.left + timeFrame.width) {
var positionDuration = timeFrame.getDuration() / timeFrame.width * (position - timeFrame.left);
var date = (0, _moment2.default)(timeFrame.start).add(positionDuration, 'milliseconds');
return date;
}
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}
}
}, {
key: 'getDateByPosition',
value: function getDateByPosition(position, magnetValue, magnetUnit, timeFramesMagnet) {
var date = void 0;
if (position < 0) {
position = 0;
}
if (position > this.width) {
position = this.width;
}
if (this.timeFramesNonWorkingMode === 'cropped' || this.timeFramesWorkingMode === 'cropped') {
date = this.getDateByPositionUsingTimeFrames(position);
}
if (date === undefined) {
var positionDuration = this.duration / this.width * position;
date = (0, _moment2.default)(this.date).add(positionDuration, 'milliseconds');
}
date = this.getMagnetDate(date, magnetValue, magnetUnit, timeFramesMagnet);
return date;
}
}, {
key: 'getDayTimeFrame',
value: function getDayTimeFrame(date) {
var dtf = this.daysTimeFrames[this.getDateKey(date)];
if (dtf === undefined) {
return [];
}
return dtf;
}
}, {
key: 'getPositionByDate',
value: function getPositionByDate(date) {
var croppedDate = date;
if (this.timeFramesNonWorkingMode === 'cropped' || this.timeFramesWorkingMode === 'cropped') {
var timeFrames = this.getDayTimeFrame(croppedDate);
for (var i = 0; i < timeFrames.length; i++) {
var timeFrame = timeFrames[i];
if (croppedDate >= timeFrame.start && croppedDate <= timeFrame.end) {
if (timeFrame.cropped) {
if (timeFrames.length > i + 1) {
croppedDate = timeFrames[i + 1].start;
} else {
croppedDate = timeFrame.end;
}
} else {
var _positionDuration = croppedDate.diff(timeFrame.start, 'milliseconds');
var _position = _positionDuration / timeFrame.getDuration() * timeFrame.width;
return this.left + timeFrame.left + _position;
}
}
}
}
var positionDuration = croppedDate.diff(this.date, 'milliseconds');
var position = positionDuration / this.duration * this.width;
if (position < 0) {
position = 0;
}
if (position > this.width) {
position = this.width;
}
return this.left + position;
}
}]);
return GanttColumn;
}();
/***/ }),
/* 24 */
/***/ (function(module, exports) {
var toString = {}.toString;
module.exports = function(it){
return toString.call(it).slice(8, -1);
};
/***/ }),
/* 25 */
/***/ (function(module, exports) {
// 7.2.1 RequireObjectCoercible(argument)
module.exports = function(it){
if(it == undefined)throw TypeError("Can't call method on " + it);
return it;
};
/***/ }),
/* 26 */
/***/ (function(module, exports) {
// IE 8- don't enum bug keys
module.exports = (
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');
/***/ }),
/* 27 */
/***/ (function(module, exports) {
module.exports = true;
/***/ }),
/* 28 */
/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
var anObject = __webpack_require__(14)
, dPs = __webpack_require__(152)
, enumBugKeys = __webpack_require__(26)
, IE_PROTO = __webpack_require__(31)('IE_PROTO')
, Empty = function(){ /* empty */ }
, PROTOTYPE = 'prototype';
// Create object with fake `null` prototype: use iframe Object with cleared prototype
var createDict = function(){
// Thrash, waste and sodomy: IE GC bug
var iframe = __webpack_require__(51)('iframe')
, i = enumBugKeys.length
, lt = '<'
, gt = '>'
, iframeDocument;
iframe.style.display = 'none';
__webpack_require__(145).appendChild(iframe);
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
iframeDocument.close();
createDict = iframeDocument.F;
while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
return createDict();
};
module.exports = Object.create || function create(O, Properties){
var result;
if(O !== null){
Empty[PROTOTYPE] = anObject(O);
result = new Empty;
Empty[PROTOTYPE] = null;
// add "__proto__" for Object.getPrototypeOf polyfill
result[IE_PROTO] = O;
} else result = createDict();
return Properties === undefined ? result : dPs(result, Properties);
};
/***/ }),
/* 29 */
/***/ (function(module, exports) {
exports.f = {}.propertyIsEnumerable;
/***/ }),
/* 30 */
/***/ (function(module, exports, __webpack_require__) {
var def = __webpack_require__(12).f
, has = __webpack_require__(11)
, TAG = __webpack_require__(9)('toStringTag');
module.exports = function(it, tag, stat){
if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
};
/***/ }),
/* 31 */
/***/ (function(module, exports, __webpack_require__) {
var shared = __webpack_require__(32)('keys')
, uid = __webpack_require__(22);
module.exports = function(key){
return shared[key] || (shared[key] = uid(key));
};
/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(8)
, SHARED = '__core-js_shared__'
, store = global[SHARED] || (global[SHARED] = {});
module.exports = function(key){
return store[key] || (store[key] = {});
};
/***/ }),
/* 33 */
/***/ (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);
};
/***/ }),
/* 34 */
/***/ (function(module, exports, __webpack_require__) {
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = __webpack_require__(18);
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function(it, S){
if(!isObject(it))return it;
var fn, val;
if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
throw TypeError("Can't convert object to primitive value");
};
/***/ }),
/* 35 */
/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(8)
, core = __webpack_require__(7)
, LIBRARY = __webpack_require__(27)
, wksExt = __webpack_require__(36)
, defineProperty = __webpack_require__(12).f;
module.exports = function(name){
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});
};
/***/ }),
/* 36 */
/***/ (function(module, exports, __webpack_require__) {
exports.f = __webpack_require__(9);
/***/ }),
/* 37 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GanttApi = undefined;
var _getIterator2 = __webpack_require__(4);
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _classCallCheck2 = __webpack_require__(0);
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = __webpack_require__(1);
var _createClass3 = _interopRequireDefault(_createClass2);
exports.default = ["$q", "$rootScope", "ganttUtils", function ($q, $rootScope, ganttUtils) {
'ngInject';
GanttApi.$q = $q;
GanttApi.$rootScope = $rootScope;
GanttApi.ganttUtils = ganttUtils;
return GanttApi;
}];
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GanttApi = exports.GanttApi = function () {
function GanttApi(gantt) {
(0, _classCallCheck3.default)(this, GanttApi);
this.gantt = gantt;
this.listeners = [];
this.apiId = GanttApi.ganttUtils.newId();
}
(0, _createCla