UNPKG

angular-gantt

Version:

Gantt chart component for AngularJS

1,356 lines (1,058 loc) 570 kB
/*! * 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