dhtmlxgantt_grouping.js 7.5 KB

12345678910
  1. /*
  2. @license
  3. dhtmlxGantt v.6.0.2 Professional
  4. This software is covered by DHTMLX Commercial License. Usage without proper license is prohibited.
  5. (c) Dinamenta, UAB.
  6. */!function(t){var r={};function e(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:n})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var o in t)e.d(n,o,function(r){return t[r]}.bind(null,o));return n},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},e.p="/codebase/",e(e.s=214)}({214:function(t,r,e){var n=e(3);function o(){var t=this;this.$data.tasksStore._listenerToDrop&&this.$data.tasksStore.detachEvent(this.$data.tasksStore._listenerToDrop),this.$data.tasksStore.attachEvent("onAfterUpdate",function(){return!t._groups.dynamicGroups||(t._groups.regroup&&t._groups.regroup(),!0)})}gantt._groups={relation_property:null,relation_id_property:"$group_id",group_id:null,group_text:null,loading:!1,loaded:0,dynamicGroups:!1,init:function(t){var r=this;t.attachEvent("onClear",function(){r.clear()}),r.clear();var e=t.$data.tasksStore.getParent;t.attachEvent("onBeforeTaskMove",function(){return!this._groups.dynamicGroups}),t.$data.tasksStore._listenerToDrop=t.$data.tasksStore.attachEvent("onStoreUpdated",t.bind(o,t)),t.$data.tasksStore.getParent=function(n){return r.is_active()?r.get_parent(t,n):e.apply(this,arguments)};var n=t.$data.tasksStore.setParent;t.$data.tasksStore.setParent=function(e,o){if(!r.is_active())return n.apply(this,arguments);if(t.isTaskExists(o)){var a=t.getTask(o);r.dynamicGroups||(e[r.relation_property]=a[r.relation_id_property]),this._setParentInner.apply(this,arguments)}else r.dynamicGroups&&void 0===e[r.group_id]&&(e[r.relation_property]=[])},t.attachEvent("onBeforeTaskDisplay",function(e,n){return!(r.is_active()&&n.type==t.config.types.project&&!n.$virtual)}),t.attachEvent("onBeforeParse",function(){r.loading=!0}),t.attachEvent("onTaskLoading",function(){return r.is_active()&&(r.loaded--,r.loaded<=0&&(r.loading=!1,t.eachTask(t.bind(function(r){this.get_parent(t,r)},r)))),!0}),t.attachEvent("onParse",function(){r.loading=!1,r.loaded=0})},get_parent:function(t,r,e){void 0===r.id&&(r=t.getTask(r));var o=function(t,r){var e;e=t[r]instanceof Array?n.arrayMap(t[r],function(t,r){return t&&"object"==typeof t?t.resource_id:t}).join(","):t[r];return e}(r,this.relation_property);if(this._groups_pull[o]===r.id)return t.config.root_id;if(void 0!==this._groups_pull[o])return this._groups_pull[o];var a=t.config.root_id;return this.loading||void 0===o||(a=this.find_parent(e||t.getTaskByTime(),o,this.relation_id_property,t.config.root_id,r),this._groups_pull[o]=a),a},find_parent:function(t,r,e,n,o){for(var a=0;a<t.length;a++){var i=t[a];if(void 0!==i[e]&&i[e]==r&&i.id!==o.id)return i.id}return n},clear:function(){this._groups_pull={},this.relation_property=null,this.group_id=null,this.group_text=null},is_active:function(){return!!this.relation_property},generate_sections:function(t,r){for(var e=[],n=0;n<t.length;n++){var o=gantt.copy(t[n]);o.type=r,o.open=!0,o.$virtual=!0,o.readonly=!0,o[this.relation_id_property]=o[this.group_id],o.text=o[this.group_text],e.push(o)}return e},clear_temp_tasks:function(t){for(var r=0;r<t.length;r++)t[r].$virtual&&(t.splice(r,1),r--)},generate_data:function(t,r){var e=t.getLinks(),n=t.getTaskByTime();this.clear_temp_tasks(n);var o=[];this.is_active()&&r&&r.length&&(o=this.generate_sections(r,t.config.types.project));var a={links:e};return a.data=o.concat(n),a},update_settings:function(t,r,e){this.clear(),this.relation_property=t,this.group_id=r,this.group_text=e},group_tasks:function(t,r,e,n,o){this.update_settings(e,n,o);var a=this.generate_data(t,r);this.loaded=a.data.length,t._clear_data(),t.parse(a)}},gantt._groups.init(gantt),gantt.groupBy=function(t){var r=this,e=gantt.getTaskByTime();this._groups.dynamicGroups=n.arraySome(e,function(r,e){return r[t.relation_property]instanceof Array}),(t=t||{}).default_group_label=t.default_group_label||this.locale.labels.default_group||"None";var o=t.relation_property||null,a=t.group_id||"key",i=t.group_text||"label";this._groups.regroup=function(){var e=gantt.getTaskByTime(),u=function(t,r,e){var o;o=t.groups?e._groups.dynamicGroups?function(t,r){var e={},o=[],a={},i=r.relation_property,u=r.delimiter||",",s=!1,c=0;n.forEach(r.groups,function(t){t.default&&(s=!0,c=t.group_id),a[t.key||t[r.group_id]]=t});for(var l=0;l<t.length;l++){var p,f;if(n.isArray(t[l][i]))if(t[l][i].length>0)p=n.arrayMap(t[l][i],function(t,r){return t&&"object"==typeof t?t.resource_id:t}).sort().join(","),f=n.arrayMap(t[l][i],function(t,r){var e;return e=t&&"object"==typeof t?t.resource_id:t,(t=a[e]).label||t.text}).sort().join(u);else{if(s)continue;p=0,f=r.default_group_label}else if(t[l][i])p=t[l][i],f=a[p].label||a[p].text;else{if(s)continue;p=0,f=r.default_group_label}void 0!==p&&void 0===e[p]&&(e[p]={key:p,label:f},p===c&&(e[p].default=!0),e[p][r.group_text]=f,e[p][r.group_id]=p)}return(o=n.hashToArray(e)).forEach(function(t){t.key==c&&(t.default=!0)}),o}(r,t):t.groups:null;return o}(t,e,gantt);return r._groups.group_tasks(r,u,o,a,i),!0},this._groups.regroup()}},3:function(t,r){var e={second:1,minute:60,hour:3600,day:86400,week:604800,month:2592e3,quarter:7776e3,year:31536e3};function n(t,r){var e=[];if(t.filter)return t.filter(r);for(var n=0;n<t.length;n++)r(t[n],n)&&(e[e.length]=t[n]);return e}t.exports={getSecondsInUnit:function(t){return e[t]||e.hour},forEach:function(t,r){if(t.forEach)t.forEach(r);else for(var e=t.slice(),n=0;n<e.length;n++)r(e[n],n)},arrayMap:function(t,r){if(t.map)return t.map(r);for(var e=t.slice(),n=[],o=0;o<e.length;o++)n.push(r(e[o],o));return n},arrayFind:function(t,r){if(t.find)return t.find(r);for(var e=0;e<t.length;e++)if(r(t[e],e))return t[e]},arrayFilter:n,arrayDifference:function(t,r){return n(t,function(t,e){return!r(t,e)})},arraySome:function(t,r){if(0===t.length)return!1;for(var e=0;e<t.length;e++)if(r(t[e],e,t))return!0;return!1},hashToArray:function(t){var r=[];for(var e in t)t.hasOwnProperty(e)&&r.push(t[e]);return r},sortArrayOfHash:function(t,r,e){var n=function(t,r){return t<r};t.sort(function(t,o){return t[r]===o[r]?0:e?n(t[r],o[r]):n(o[r],t[r])})},throttle:function(t,r){var e=!1;return function(){e||(t.apply(null,arguments),e=!0,setTimeout(function(){e=!1},r))}},isArray:function(t){return Array.isArray?Array.isArray(t):t&&void 0!==t.length&&t.pop&&t.push},isDate:function(t){return!(!t||"object"!=typeof t||!(t.getFullYear&&t.getMonth&&t.getDate))},isStringObject:function(t){return t&&"object"==typeof t&&"function String() { [native code] }"===Function.prototype.toString.call(t.constructor)},isNumberObject:function(t){return t&&"object"==typeof t&&"function Number() { [native code] }"===Function.prototype.toString.call(t.constructor)},isBooleanObject:function(t){return t&&"object"==typeof t&&"function Boolean() { [native code] }"===Function.prototype.toString.call(t.constructor)},delay:function(t,r){var e;return function(){clearTimeout(e),e=setTimeout(function(){t()},r)}}}}});
  7. //# sourceMappingURL=dhtmlxgantt_grouping.js.map