{"version":3,"file":"gantt.mjs","sources":["../../../../../../packages/components/gantt/src/gantt.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\r\n\r\nimport { GridColumn, Link, Scales, Task } from 'dhtmlx-gantt'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport type Gantt from './gantt.vue'\r\n\r\n// 默认列配置\r\nexport const defaultColumns: GridColumn[] = [\r\n  { name: 'text', label: '任务名', width: 200, tree: true },\r\n  {\r\n    name: 'progress',\r\n    label: '进度',\r\n    width: 80,\r\n    align: 'center',\r\n    template: function (a) {\r\n      return `${Math.round(a.progress! * 100)}%`\r\n    },\r\n  },\r\n  {\r\n    name: 'duration',\r\n    label: '工期',\r\n    width: 80,\r\n    align: 'center',\r\n    template: function (a) {\r\n      return `${a.duration} `\r\n    },\r\n  },\r\n]\r\n\r\nexport const ganttProps = buildProps({\r\n  // 任务数据\r\n  data: {\r\n    type: definePropType<{\r\n      tasks: Task[]\r\n      links: Link[]\r\n    }>(Object),\r\n    default: () => ({\r\n      tasks: [] as Task[],\r\n      links: [] as Link[],\r\n    }),\r\n  },\r\n  // 事件映射(https://docs.dhtmlx.com/gantt/zh/api/overview/events-overview/)\r\n  eventMap: {\r\n    type: definePropType<{\r\n      eventName: string\r\n      handle: (...args: any[]) => boolean\r\n    }>(Object),\r\n    default: () => ({}),\r\n  },\r\n  // 列配置\r\n  columns: {\r\n    type: definePropType<GridColumn[]>(Array),\r\n    default: null,\r\n  },\r\n  // 额外配置(https://docs.dhtmlx.com/gantt/zh/api/overview/properties-overview/)\r\n  extraConfig: {\r\n    type: Object,\r\n    default: () => ({}),\r\n  },\r\n  // 额外配置(https://docs.dhtmlx.com/gantt/zh/api/overview/properties-overview/)\r\n  extraTemplates: {\r\n    type: Object,\r\n    default: () => ({}),\r\n  },\r\n  // 滚动条尺寸\r\n  scrollSize: {\r\n    type: Number,\r\n    default: 6,\r\n  },\r\n  // 是否显示网格\r\n  showGrid: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 多选\r\n  multiselect: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 日期格式\r\n  dateFormat: {\r\n    type: String,\r\n    default: `%Y-%m-%d %H:%i:%s`,\r\n  },\r\n  // 只读\r\n  readonly: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 是否选择任务\r\n  selectTask: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 是否显示任务单元格\r\n  showTaskCells: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 网格宽度\r\n  gridWidth: {\r\n    type: Number,\r\n    default: 440,\r\n  },\r\n  // 是否开启工作时间\r\n  workTime: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 是否修正工作时间\r\n  correctWorkTime: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 工期单位\r\n  durationUnit: {\r\n    type: String,\r\n    default: 'hour',\r\n    values: ['year', 'month', 'week', 'day', 'hour', 'minute'],\r\n  },\r\n  // 工期单位步长\r\n  durationStep: {\r\n    type: Number,\r\n    default: 1,\r\n  },\r\n  // 显示进度\r\n  showProgress: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 允许任务拖动进度\r\n  dragProgress: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 任务条高度\r\n  barHeight: {\r\n    type: Number,\r\n    default: 30,\r\n  },\r\n  // 表格行高度\r\n  rowHeight: {\r\n    type: Number,\r\n    default: 40,\r\n  },\r\n  // 表头高度\r\n  scaleHeight: {\r\n    type: Number,\r\n    default: 50,\r\n  },\r\n  // 允许拖拽调整行高\r\n  resizeRows: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 允许拖拽调整任务时间\r\n  dragResize: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 允许拖拽表格列\r\n  reorderGridColumns: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 拖拽任务时自动对齐单元格\r\n  roundDndDates: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 拖拽任务时间步长\r\n  timeStep: {\r\n    type: Number,\r\n    default: 60,\r\n  },\r\n  // 连接线半径\r\n  linkRadius: {\r\n    type: Number,\r\n    default: 4,\r\n  },\r\n  // 连接线宽度\r\n  linkLineWidth: {\r\n    type: Number,\r\n    default: 2,\r\n  },\r\n  // 允许行拖拽排布任务(不改变级别)\r\n  orderBranch: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 允许行拖拽排布任务时改变级别\r\n  orderBranchFree: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 时间轴最小列宽\r\n  minColumnWidth: {\r\n    type: Number,\r\n    default: 70,\r\n  },\r\n  // 展开所有任务\r\n  openTreeInitially: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 允许拖拽连接线\r\n  dragLinks: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 允许拖拽移动任务\r\n  dragMove: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 时间轴日期刻度\r\n  scales: {\r\n    type: definePropType<Scales>(Array),\r\n    default: null,\r\n  },\r\n\r\n  // 任务条背景颜色\r\n  taskLineBg: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  // 悬浮行背景颜色\r\n  hoverRowBg: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  // 选中行背景颜色\r\n  selectedRowBg: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  // 表头背景颜色\r\n  gridScaleBg: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n} as const)\r\n\r\n// props\r\nexport type GanttProps = ExtractPropTypes<typeof ganttProps>\r\n\r\n// instance\r\nexport type GanttInstance = InstanceType<typeof Gantt>\r\n"],"names":[],"mappings":";;;;AAOO,MAAM,cAAA,GAA+B;AAAA,EAC1C,EAAE,MAAM,MAAA,EAAQ,KAAA,EAAO,sBAAO,KAAA,EAAO,GAAA,EAAK,MAAM,IAAA,EAAK;AAAA,EACrD;AAAA,IACE,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO,EAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,SAAU,CAAA,EAAG;AACrB,MAAA,OAAO,GAAG,IAAA,CAAK,KAAA,CAAM,CAAA,CAAE,QAAA,GAAY,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,IACzC;AAAA,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO,EAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,SAAU,CAAA,EAAG;AACrB,MAAA,OAAO,CAAA,EAAG,EAAE,QAAQ,CAAA,CAAA,CAAA;AAAA,IACtB;AAAA;AAEJ;AAEO,MAAM,aAAa,UAAA,CAAW;AAAA;AAAA,EAEnC,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,eAGH,MAAM,CAAA;AAAA,IACT,SAAS,OAAO;AAAA,MACd,OAAO,EAAC;AAAA,MACR,OAAO;AAAC,KACV;AAAA,GACF;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,eAGH,MAAM,CAAA;AAAA,IACT,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,eAA6B,KAAK,CAAA;AAAA,IACxC,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,CAAA,iBAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,MAAA;AAAA,IACT,QAAQ,CAAC,MAAA,EAAQ,SAAS,MAAA,EAAQ,KAAA,EAAO,QAAQ,QAAQ;AAAA,GAC3D;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,iBAAA,EAAmB;AAAA,IACjB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,eAAuB,KAAK,CAAA;AAAA,IAClC,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAGA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAU;;;;"}