@xpyjs/gantt-vue 0.0.1-rc.2 → 0.0.1-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as f, ref as p, watch as k, onMounted as v, onUnmounted as b, createElementBlock as x, openBlock as _, nextTick as g } from "vue";
2
2
  import { XGantt as h } from "@xpyjs/gantt-core";
3
- import { colorjs as B, dayjs as V, generateId as C } from "@xpyjs/gantt-core";
3
+ import { colorjs as j, dayjs as V, generateId as C } from "@xpyjs/gantt-core";
4
4
  const w = /* @__PURE__ */ f({
5
5
  __name: "GanttVue",
6
6
  props: {
7
7
  options: { default: () => ({}) }
8
8
  },
9
9
  emits: ["loaded", "error", "update:link", "create:link", "select:link", "contextmenu:link", "select", "click:row", "dblclick:row", "contextmenu:row", "click:slider", "dblclick:slider", "contextmenu:slider", "move", "enter:slider", "hover:slider", "leave:slider", "click:baseline", "contextmenu:baseline", "enter:baseline", "hover:baseline", "leave:baseline"],
10
- setup(n, { expose: i, emit: r }) {
11
- const l = n, a = r, c = p();
10
+ setup(n, { expose: i, emit: o }) {
11
+ const l = n, a = o, c = p();
12
12
  let e = null;
13
13
  const d = async () => {
14
14
  c.value && (await g(), e = new h(c.value, l.options), u());
@@ -37,11 +37,11 @@ const w = /* @__PURE__ */ f({
37
37
  "enter:baseline",
38
38
  "hover:baseline",
39
39
  "leave:baseline"
40
- ].forEach((o) => {
40
+ ].forEach((r) => {
41
41
  e.on(
42
- o,
42
+ r,
43
43
  (...m) => {
44
- a(o, ...m);
44
+ a(r, ...m);
45
45
  }
46
46
  );
47
47
  });
@@ -73,8 +73,8 @@ const w = /* @__PURE__ */ f({
73
73
  /**
74
74
  * 滚动到指定任务位置
75
75
  */
76
- scrollTo: (t, o) => {
77
- e && e.scrollTo(t, o);
76
+ scrollTo: (t, r) => {
77
+ e && e.scrollTo(t, r);
78
78
  },
79
79
  /**
80
80
  * 获取某一条数据
@@ -89,29 +89,42 @@ const w = /* @__PURE__ */ f({
89
89
  getDataSize: () => {
90
90
  if (e)
91
91
  return e.getDataSize();
92
+ },
93
+ /**
94
+ * 移除指定 ID 的数据。该操作会直接修改当前数据源,并且不可逆,请谨慎使用
95
+ * @param id 数据 ID
96
+ * @returns 是否成功移除
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * const success = gantt.removeDataById('task-1');
101
+ * ```
102
+ */
103
+ removeDataById(t) {
104
+ return (e == null ? void 0 : e.removeDataById(t)) || !1;
92
105
  }
93
106
  }), v(() => {
94
107
  d();
95
108
  }), b(() => {
96
109
  e && (e.destroy(), e = null);
97
- }), (t, o) => (_(), x("div", {
110
+ }), (t, r) => (_(), x("div", {
98
111
  ref_key: "containerRef",
99
112
  ref: c,
100
113
  class: "x-gantt-container"
101
114
  }, null, 512));
102
115
  }
103
116
  }), y = (n, i) => {
104
- const r = n.__vccOpts || n;
117
+ const o = n.__vccOpts || n;
105
118
  for (const [l, a] of i)
106
- r[l] = a;
107
- return r;
108
- }, D = /* @__PURE__ */ y(w, [["__scopeId", "data-v-7fb9b32a"]]), s = D;
119
+ o[l] = a;
120
+ return o;
121
+ }, D = /* @__PURE__ */ y(w, [["__scopeId", "data-v-15dd921b"]]), s = D;
109
122
  s.install = (n) => {
110
123
  n.component("XGanttVue", s);
111
124
  };
112
125
  export {
113
126
  s as XGanttVue,
114
- B as colorjs,
127
+ j as colorjs,
115
128
  V as dayjs,
116
129
  s as default,
117
130
  C as generateId
@@ -1 +1 @@
1
- (function(t,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@xpyjs/gantt-core")):typeof define=="function"&&define.amd?define(["exports","vue","@xpyjs/gantt-core"],n):(t=typeof globalThis<"u"?globalThis:t||self,n(t.XGanttVue={},t.Vue,t.XGanttCore))})(this,function(t,n,l){"use strict";const c=((i,u)=>{const a=i.__vccOpts||i;for(const[s,d]of u)a[s]=d;return a})(n.defineComponent({__name:"GanttVue",props:{options:{default:()=>({})}},emits:["loaded","error","update:link","create:link","select:link","contextmenu:link","select","click:row","dblclick:row","contextmenu:row","click:slider","dblclick:slider","contextmenu:slider","move","enter:slider","hover:slider","leave:slider","click:baseline","contextmenu:baseline","enter:baseline","hover:baseline","leave:baseline"],setup(i,{expose:u,emit:a}){const s=i,d=a,f=n.ref();let e=null;const p=async()=>{f.value&&(await n.nextTick(),e=new l.XGantt(f.value,s.options),m())},m=()=>{if(!e)return;["loaded","error","update:link","create:link","select:link","contextmenu:link","select","click:row","dblclick:row","contextmenu:row","click:slider","dblclick:slider","contextmenu:slider","move","enter:slider","hover:slider","leave:slider","click:baseline","contextmenu:baseline","enter:baseline","hover:baseline","leave:baseline"].forEach(o=>{e.on(o,(...b)=>{d(o,...b)})})};return n.watch(()=>s,r=>{e&&e.update(r.options)},{deep:!0}),u({getInstance:()=>e,jumpTo:r=>{e&&e.jumpTo(r)},getDataChain:r=>{if(e)return e.getDataChain(r)},scrollTo:(r,o)=>{e&&e.scrollTo(r,o)},getDataById:r=>{if(e)return e.getDataById(r)},getDataSize:()=>{if(e)return e.getDataSize()}}),n.onMounted(()=>{p()}),n.onUnmounted(()=>{e&&(e.destroy(),e=null)}),(r,o)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"containerRef",ref:f,class:"x-gantt-container"},null,512))}}),[["__scopeId","data-v-7fb9b32a"]]);c.install=i=>{i.component("XGanttVue",c)},Object.defineProperty(t,"colorjs",{enumerable:!0,get:()=>l.colorjs}),Object.defineProperty(t,"dayjs",{enumerable:!0,get:()=>l.dayjs}),Object.defineProperty(t,"generateId",{enumerable:!0,get:()=>l.generateId}),t.XGanttVue=c,t.default=c,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(n,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("@xpyjs/gantt-core")):typeof define=="function"&&define.amd?define(["exports","vue","@xpyjs/gantt-core"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.XGanttVue={},n.Vue,n.XGanttCore))})(this,function(n,r,l){"use strict";const a=((i,d)=>{const c=i.__vccOpts||i;for(const[s,u]of d)c[s]=u;return c})(r.defineComponent({__name:"GanttVue",props:{options:{default:()=>({})}},emits:["loaded","error","update:link","create:link","select:link","contextmenu:link","select","click:row","dblclick:row","contextmenu:row","click:slider","dblclick:slider","contextmenu:slider","move","enter:slider","hover:slider","leave:slider","click:baseline","contextmenu:baseline","enter:baseline","hover:baseline","leave:baseline"],setup(i,{expose:d,emit:c}){const s=i,u=c,f=r.ref();let e=null;const m=async()=>{f.value&&(await r.nextTick(),e=new l.XGantt(f.value,s.options),p())},p=()=>{if(!e)return;["loaded","error","update:link","create:link","select:link","contextmenu:link","select","click:row","dblclick:row","contextmenu:row","click:slider","dblclick:slider","contextmenu:slider","move","enter:slider","hover:slider","leave:slider","click:baseline","contextmenu:baseline","enter:baseline","hover:baseline","leave:baseline"].forEach(o=>{e.on(o,(...k)=>{u(o,...k)})})};return r.watch(()=>s,t=>{e&&e.update(t.options)},{deep:!0}),d({getInstance:()=>e,jumpTo:t=>{e&&e.jumpTo(t)},getDataChain:t=>{if(e)return e.getDataChain(t)},scrollTo:(t,o)=>{e&&e.scrollTo(t,o)},getDataById:t=>{if(e)return e.getDataById(t)},getDataSize:()=>{if(e)return e.getDataSize()},removeDataById(t){return(e==null?void 0:e.removeDataById(t))||!1}}),r.onMounted(()=>{m()}),r.onUnmounted(()=>{e&&(e.destroy(),e=null)}),(t,o)=>(r.openBlock(),r.createElementBlock("div",{ref_key:"containerRef",ref:f,class:"x-gantt-container"},null,512))}}),[["__scopeId","data-v-15dd921b"]]);a.install=i=>{i.component("XGanttVue",a)},Object.defineProperty(n,"colorjs",{enumerable:!0,get:()=>l.colorjs}),Object.defineProperty(n,"dayjs",{enumerable:!0,get:()=>l.dayjs}),Object.defineProperty(n,"generateId",{enumerable:!0,get:()=>l.generateId}),n.XGanttVue=a,n.default=a,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .x-gantt{--x-gantt-border-color: #e5e5e5}.x-gantt-table-container{flex-shrink:0;box-sizing:border-box;height:100%;overflow:hidden;display:flex;flex-direction:column;width:100%}.x-gantt-table-header{flex-shrink:0;box-sizing:border-box;border-bottom:1px solid var(--x-gantt-border-color)!important;display:flex;flex-direction:row;overflow:hidden;position:relative;flex-wrap:nowrap}.x-gantt-table-header .x-gantt-table-header-cell{position:relative;box-sizing:border-box;overflow:hidden;font-weight:var(--x-gantt-header-font-weight);flex-shrink:0;padding:0 8px}.x-gantt-table-header .x-gantt-table-header-cell.border{border-right:1px solid var(--x-gantt-border-color)!important}.x-gantt-table-header .x-gantt-table-header-cell .x-gantt-column-resize-handle{transition:background-color .2s ease}.x-gantt-table-header .x-gantt-table-header-cell .x-gantt-column-resize-handle:hover{background-color:#0000001a!important}.x-gantt-table-header>div:last-child.x-gantt-table-header-group.border>.x-gantt-table-header-cell.border{border-right:none}.x-gantt-table-header>div:last-child .x-gantt-table-header-group.border>.x-gantt-table-header-cell.border{border-right:none}.x-gantt-table-header>div:last-child.x-gantt-table-header-cell.border{border-right:none}.x-gantt-table-header-group{display:flex;flex-direction:column;box-sizing:border-box}.x-gantt-table-header-group>.x-gantt-table-header-cell{border-bottom:1px solid var(--x-gantt-border-color)!important}.x-gantt-table-header-group>.x-gantt-table-header-cell>.x-gantt-table-header-title{text-align:center}.x-gantt-table-header-children{display:flex;flex-direction:row}.x-gantt-table-body{flex:1;overflow:hidden;box-sizing:border-box;position:relative;width:100%;height:100%}.x-gantt-table-row{box-sizing:border-box}.x-gantt-table-row.hover>.x-gantt-table-cell{background-color:var(--x-gantt-row-hover-color, rgba(0, 0, 0, .05))!important}.x-gantt-table-row.selected>.x-gantt-table-cell{background-color:var(--x-gantt-row-selected-color, rgba(0, 0, 0, .1))!important}.x-gantt-table-cell{box-sizing:border-box;display:inline-block;border-bottom:1px solid var(--x-gantt-border-color)!important;padding:var(--x-gantt-cell-padding, 4px 8px)}.x-gantt-table-cell .x-gantt-table-cell__content{box-sizing:border-box}.x-gantt-table-cell.border{border-right:1px solid var(--x-gantt-border-color)!important}.x-gantt-content-wrapper{width:100%;height:100%;scrollbar-width:none}.x-gantt-content-wrapper::-webkit-scrollbar{display:none}.gantt-scrollbar{position:absolute;z-index:10;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none}.gantt-scrollbar.visible{opacity:1;pointer-events:auto}.gantt-scrollbar-thumb{position:absolute;cursor:pointer;transition:background-color .2s ease-in-out,height .1s ease-out,width .1s ease-out,transform .05s linear}.gantt-scrollbar-vertical{top:0;right:0;bottom:0}.gantt-scrollbar-vertical .gantt-scrollbar-thumb-vertical{top:0;left:0;right:0}.gantt-scrollbar-horizontal{left:0;bottom:0;right:0}.gantt-scrollbar-horizontal .gantt-scrollbar-thumb-horizontal{left:0;top:0;bottom:0}.x-gantt-checkbox{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--x-gantt-border-color);border-radius:3px;cursor:pointer;transition:all .15s ease-in-out;box-sizing:border-box;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.x-gantt-checkbox:focus{outline:none}.x-gantt-checkbox:focus-visible{outline:none}.x-gantt-checkbox__icon svg{transition:all .15s ease-in-out}.x-gantt-checkbox:hover{border-color:var(--x-gantt-primary-color)}.x-gantt{width:100%;height:100%;display:flex;box-sizing:border-box;flex-wrap:nowrap;padding:0;margin:0;overflow:hidden;position:relative}.x-gantt.border{border:1px solid var(--x-gantt-border-color)}.x-gantt-container{position:relative;height:100%;overflow:hidden}.x-gantt-container[data-v-7fb9b32a]{position:relative;width:100%;height:100%}
1
+ .x-gantt{--x-gantt-border-color: #e5e5e5}.x-gantt-table-container{flex-shrink:0;box-sizing:border-box;height:100%;overflow:hidden;display:flex;flex-direction:column;width:100%}.x-gantt-table-header{flex-shrink:0;box-sizing:border-box;border-bottom:1px solid var(--x-gantt-border-color)!important;display:flex;flex-direction:row;overflow:hidden;position:relative;flex-wrap:nowrap}.x-gantt-table-header .x-gantt-table-header-cell{position:relative;box-sizing:border-box;overflow:hidden;font-weight:var(--x-gantt-header-font-weight);flex-shrink:0;padding:0 8px}.x-gantt-table-header .x-gantt-table-header-cell.border{border-right:1px solid var(--x-gantt-border-color)!important}.x-gantt-table-header .x-gantt-table-header-cell .x-gantt-column-resize-handle{transition:background-color .2s ease}.x-gantt-table-header .x-gantt-table-header-cell .x-gantt-column-resize-handle:hover{background-color:#0000001a!important}.x-gantt-table-header>div:last-child.x-gantt-table-header-group.border>.x-gantt-table-header-cell.border{border-right:none}.x-gantt-table-header>div:last-child .x-gantt-table-header-group.border>.x-gantt-table-header-cell.border{border-right:none}.x-gantt-table-header>div:last-child.x-gantt-table-header-cell.border{border-right:none}.x-gantt-table-header-group{display:flex;flex-direction:column;box-sizing:border-box}.x-gantt-table-header-group>.x-gantt-table-header-cell{border-bottom:1px solid var(--x-gantt-border-color)!important}.x-gantt-table-header-group>.x-gantt-table-header-cell>.x-gantt-table-header-title{text-align:center}.x-gantt-table-header-children{display:flex;flex-direction:row}.x-gantt-table-body{flex:1;overflow:hidden;box-sizing:border-box;position:relative;width:100%;height:100%}.x-gantt-table-row{box-sizing:border-box}.x-gantt-table-row.hover>.x-gantt-table-cell{background-color:var(--x-gantt-row-hover-color, rgba(0, 0, 0, .05))!important}.x-gantt-table-row.selected>.x-gantt-table-cell{background-color:var(--x-gantt-row-selected-color, rgba(0, 0, 0, .1))!important}.x-gantt-table-cell{box-sizing:border-box;display:inline-block;border-bottom:1px solid var(--x-gantt-border-color)!important;padding:var(--x-gantt-cell-padding, 4px 8px)}.x-gantt-table-cell .x-gantt-table-cell__content{box-sizing:border-box}.x-gantt-table-cell.border{border-right:1px solid var(--x-gantt-border-color)!important}.x-gantt-content-wrapper{width:100%;height:100%;scrollbar-width:none}.x-gantt-content-wrapper::-webkit-scrollbar{display:none}.gantt-scrollbar{position:absolute;z-index:10;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none}.gantt-scrollbar.visible{opacity:1;pointer-events:auto}.gantt-scrollbar-thumb{position:absolute;cursor:pointer;transition:background-color .2s ease-in-out,height .1s ease-out,width .1s ease-out,transform .05s linear}.gantt-scrollbar-vertical{top:0;right:0;bottom:0}.gantt-scrollbar-vertical .gantt-scrollbar-thumb-vertical{top:0;left:0;right:0}.gantt-scrollbar-horizontal{left:0;bottom:0;right:0}.gantt-scrollbar-horizontal .gantt-scrollbar-thumb-horizontal{left:0;top:0;bottom:0}.x-gantt-checkbox{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--x-gantt-border-color);border-radius:3px;cursor:pointer;transition:all .15s ease-in-out;box-sizing:border-box;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.x-gantt-checkbox:focus{outline:none}.x-gantt-checkbox:focus-visible{outline:none}.x-gantt-checkbox__icon svg{transition:all .15s ease-in-out}.x-gantt-checkbox:hover{border-color:var(--x-gantt-primary-color)}.x-gantt{width:100%;height:100%;display:flex;box-sizing:border-box;flex-wrap:nowrap;padding:0;margin:0;overflow:hidden;position:relative}.x-gantt.border{border:1px solid var(--x-gantt-border-color)}.x-gantt-container{position:relative;height:100%;overflow:hidden}.x-gantt-container[data-v-15dd921b]{position:relative;width:100%;height:100%}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xpyjs/gantt-vue",
3
3
  "private": false,
4
- "version": "0.0.1-rc.2",
4
+ "version": "0.0.1-rc.4",
5
5
  "description": "Vue wrapper for x-gantt",
6
6
  "type": "module",
7
7
  "main": "./dist/index.umd.cjs",
@@ -23,7 +23,7 @@
23
23
  "vue": "^3.0.0"
24
24
  },
25
25
  "dependencies": {
26
- "@xpyjs/gantt-core": "0.0.1-rc.2"
26
+ "@xpyjs/gantt-core": "0.0.1-rc.4"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@vitejs/plugin-vue": "^5.0.0",
@@ -29,6 +29,17 @@ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VL
29
29
  * 获取当前数据集合的数量
30
30
  */
31
31
  getDataSize: () => number | undefined;
32
+ /**
33
+ * 移除指定 ID 的数据。该操作会直接修改当前数据源,并且不可逆,请谨慎使用
34
+ * @param id 数据 ID
35
+ * @returns 是否成功移除
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const success = gantt.removeDataById('task-1');
40
+ * ```
41
+ */
42
+ removeDataById(id: string): boolean;
32
43
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
33
44
  loaded: () => void;
34
45
  error: (error: ErrorType) => void;