@toolbox-web/grid-angular 0.6.0 → 0.7.1
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/features/index.d.ts.map +1 -1
- package/features/index.js +1 -1
- package/features/multi-sort.d.ts +22 -0
- package/features/multi-sort.d.ts.map +1 -0
- package/features/multi-sort.js +3 -0
- package/features/sorting.d.ts +0 -15
- package/features/sorting.d.ts.map +1 -1
- package/features/sorting.js +1 -3
- package/index.js +157 -79
- package/lib/angular-grid-adapter.d.ts.map +1 -1
- package/lib/directives/grid.directive.d.ts +83 -8
- package/lib/directives/grid.directive.d.ts.map +1 -1
- package/lib/feature-registry.d.ts +1 -1
- package/lib/feature-registry.d.ts.map +1 -1
- package/package.json +1 -1
package/features/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/features/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAClB,OAAO,aAAa,CAAC;AACrB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,eAAe,CAAC;AACvB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,WAAW,CAAC;AACnB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/features/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAClB,OAAO,aAAa,CAAC;AACrB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,eAAe,CAAC;AACvB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,WAAW,CAAC;AACnB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC;AAEvB,OAAO,QAAQ,CAAC;AAChB,OAAO,aAAa,CAAC;AACrB,OAAO,cAAc,CAAC"}
|
package/features/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import "./filtering.js";
|
|
|
7
7
|
import "./grouping-columns.js";
|
|
8
8
|
import "./grouping-rows.js";
|
|
9
9
|
import "./master-detail.js";
|
|
10
|
+
import "./multi-sort.js";
|
|
10
11
|
import "./pinned-columns.js";
|
|
11
12
|
import "./pinned-rows.js";
|
|
12
13
|
import "./pivot.js";
|
|
@@ -16,7 +17,6 @@ import "./responsive.js";
|
|
|
16
17
|
import "./row-reorder.js";
|
|
17
18
|
import "./selection.js";
|
|
18
19
|
import "./server-side.js";
|
|
19
|
-
import "./sorting.js";
|
|
20
20
|
import "./tree.js";
|
|
21
21
|
import "./undo-redo.js";
|
|
22
22
|
import "./visibility.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-sort feature for @toolbox-web/grid-angular
|
|
3
|
+
*
|
|
4
|
+
* Import this module to enable the `multiSort` input on Grid directive.
|
|
5
|
+
* Multi-sort allows sorting by multiple columns simultaneously.
|
|
6
|
+
*
|
|
7
|
+
* For basic single-column sorting, columns with `sortable: true` work without this plugin.
|
|
8
|
+
* Use `[sortable]="false"` on the grid to disable all sorting.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import '@toolbox-web/grid-angular/features/multi-sort';
|
|
13
|
+
*
|
|
14
|
+
* <tbw-grid [multiSort]="true" />
|
|
15
|
+
* <tbw-grid [multiSort]="'single'" />
|
|
16
|
+
* <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=multi-sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-sort.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/features/multi-sort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
|
package/features/sorting.d.ts
CHANGED
|
@@ -1,16 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sorting feature for @toolbox-web/grid-angular
|
|
3
|
-
*
|
|
4
|
-
* Import this module to enable the `sorting` input on Grid directive.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* import '@toolbox-web/grid-angular/features/sorting';
|
|
9
|
-
*
|
|
10
|
-
* <tbw-grid [sorting]="'multi'" />
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* @packageDocumentation
|
|
14
|
-
*/
|
|
15
|
-
export {};
|
|
16
1
|
//# sourceMappingURL=sorting.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/features/sorting.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/features/sorting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,cAAc,CAAC"}
|
package/features/sorting.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { r as e } from "../feature-registry-C-cKloXB.js";
|
|
3
|
-
e("sorting", (r) => r === !0 || r === "multi" ? new t() : r === "single" ? new t({ maxSortColumns: 1 }) : new t(r));
|
|
1
|
+
import "./multi-sort.js";
|
package/index.js
CHANGED
|
@@ -6,23 +6,23 @@ var pe = (i, e) => (e = Symbol[i]) ? e : /* @__PURE__ */ Symbol.for("Symbol." +
|
|
|
6
6
|
};
|
|
7
7
|
var ze = (i, e, t) => e in i ? N(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
|
|
8
8
|
var ue = (i, e) => N(i, "name", { value: e, configurable: !0 });
|
|
9
|
-
var
|
|
9
|
+
var y = (i) => [, , , _e(i?.[pe("metadata")] ?? null)], fe = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], O = (i) => i !== void 0 && typeof i != "function" ? j("Function expected") : i, Be = (i, e, t, n, r) => ({ kind: fe[i], name: e, metadata: n, addInitializer: (o) => t._ ? j("Already initialized") : r.push(O(o || null)) }), Ue = (i, e) => ze(e, pe("metadata"), i[3]), b = (i, e, t, n) => {
|
|
10
10
|
for (var r = 0, o = i[e >> 1], s = o && o.length; r < s; r++) e & 1 ? o[r].call(t) : n = o[r].call(t, n);
|
|
11
11
|
return n;
|
|
12
|
-
},
|
|
13
|
-
var s, l,
|
|
12
|
+
}, T = (i, e, t, n, r, o) => {
|
|
13
|
+
var s, l, f, g, E, a = e & 7, R = !!(e & 8), h = !!(e & 16), S = a > 3 ? i.length + 1 : a ? R ? 1 : 2 : 0, M = fe[a + 5], u = a > 3 && (i[S - 1] = []), m = i[S] || (i[S] = []), d = a && (!h && !R && (r = r.prototype), a < 5 && (a > 3 || !h) && $e(a < 4 ? r : { get [t]() {
|
|
14
14
|
return me(this, o);
|
|
15
|
-
}, set [t](
|
|
16
|
-
return de(this, o,
|
|
15
|
+
}, set [t](v) {
|
|
16
|
+
return de(this, o, v);
|
|
17
17
|
} }, t));
|
|
18
|
-
a ?
|
|
18
|
+
a ? h && a < 4 && ue(o, (a > 2 ? "set " : a > 1 ? "get " : "") + t) : ue(r, t);
|
|
19
19
|
for (var C = n.length - 1; C >= 0; C--)
|
|
20
|
-
|
|
21
|
-
return a || Ue(i, r), d && N(r, t, d),
|
|
20
|
+
g = Be(a, t, f = {}, i[3], m), a && (g.static = R, g.private = h, E = g.access = { has: h ? (v) => Je(r, v) : (v) => t in v }, a ^ 3 && (E.get = h ? (v) => (a ^ 1 ? me : We)(v, r, a ^ 4 ? o : d.get) : (v) => v[t]), a > 2 && (E.set = h ? (v, L) => de(v, r, L, a ^ 4 ? o : d.set) : (v, L) => v[t] = L)), l = (0, n[C])(a ? a < 4 ? h ? o : d[M] : a > 4 ? void 0 : { get: d.get, set: d.set } : r, g), f._ = 1, a ^ 4 || l === void 0 ? O(l) && (a > 4 ? u.unshift(l) : a ? h ? o = l : d[M] = l : r = l) : typeof l != "object" || l === null ? j("Object expected") : (O(s = l.get) && (d.get = s), O(s = l.set) && (d.set = s), O(s = l.init) && u.unshift(s));
|
|
21
|
+
return a || Ue(i, r), d && N(r, t, d), h ? a ^ 4 ? o : d : r;
|
|
22
22
|
};
|
|
23
23
|
var V = (i, e, t) => e.has(i) || j("Cannot " + t), Je = (i, e) => Object(e) !== e ? j('Cannot use the "in" operator on this value') : i.has(e), me = (i, e, t) => (V(i, e, "read from private field"), t ? t.call(i) : e.get(i));
|
|
24
24
|
var de = (i, e, t, n) => (V(i, e, "write to private field"), n ? n.call(i, t) : e.set(i, t), t), We = (i, e, t) => (V(i, e, "access private method"), t);
|
|
25
|
-
import { inject as
|
|
25
|
+
import { inject as w, ElementRef as A, contentChild as k, TemplateRef as F, effect as D, Directive as x, input as c, InjectionToken as He, Injectable as Ye, makeEnvironmentProviders as Xe, EventEmitter as ge, createComponent as he, signal as G, afterNextRender as Ke, computed as P, output as p, EnvironmentInjector as Qe, ApplicationRef as Ze, ViewContainerRef as et } from "@angular/core";
|
|
26
26
|
import { FormGroup as ve } from "@angular/forms";
|
|
27
27
|
import { c as tt } from "./feature-registry-C-cKloXB.js";
|
|
28
28
|
import { a as wt, g as Rt, b as Ct, i as Et, r as yt } from "./feature-registry-C-cKloXB.js";
|
|
@@ -42,7 +42,7 @@ function je(i) {
|
|
|
42
42
|
var ye, X;
|
|
43
43
|
ye = [x({ selector: "tbw-grid-column-editor" })];
|
|
44
44
|
class q {
|
|
45
|
-
elementRef =
|
|
45
|
+
elementRef = w(A);
|
|
46
46
|
/**
|
|
47
47
|
* Query for the ng-template content child.
|
|
48
48
|
*/
|
|
@@ -60,7 +60,7 @@ class q {
|
|
|
60
60
|
return !0;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
X =
|
|
63
|
+
X = y(null), q = T(X, 0, "GridColumnEditor", ye, q), b(X, 1, q);
|
|
64
64
|
const ke = /* @__PURE__ */ new Map();
|
|
65
65
|
function Ie(i) {
|
|
66
66
|
return ke.get(i);
|
|
@@ -68,7 +68,7 @@ function Ie(i) {
|
|
|
68
68
|
var be, K;
|
|
69
69
|
be = [x({ selector: "tbw-grid-column-view" })];
|
|
70
70
|
class _ {
|
|
71
|
-
elementRef =
|
|
71
|
+
elementRef = w(A);
|
|
72
72
|
/**
|
|
73
73
|
* Query for the ng-template content child.
|
|
74
74
|
*/
|
|
@@ -86,7 +86,7 @@ class _ {
|
|
|
86
86
|
return !0;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
K =
|
|
89
|
+
K = y(null), _ = T(K, 0, "GridColumnView", be, _), b(K, 1, _);
|
|
90
90
|
const Ne = /* @__PURE__ */ new Map();
|
|
91
91
|
function Re(i) {
|
|
92
92
|
const e = i.querySelector("tbw-grid-detail");
|
|
@@ -96,7 +96,7 @@ function Re(i) {
|
|
|
96
96
|
var Te, Q;
|
|
97
97
|
Te = [x({ selector: "tbw-grid-detail" })];
|
|
98
98
|
class $ {
|
|
99
|
-
elementRef =
|
|
99
|
+
elementRef = w(A);
|
|
100
100
|
/** Whether to show the expand/collapse column. Default: true */
|
|
101
101
|
showExpandColumn = c(!0);
|
|
102
102
|
/** Animation style for expand/collapse. Default: 'slide' */
|
|
@@ -118,7 +118,7 @@ class $ {
|
|
|
118
118
|
return !0;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
Q =
|
|
121
|
+
Q = y(null), $ = T(Q, 0, "GridDetailView", Te, $), b(Q, 1, $);
|
|
122
122
|
const le = /* @__PURE__ */ Symbol("formArrayContext");
|
|
123
123
|
function rt(i) {
|
|
124
124
|
return i[le];
|
|
@@ -128,7 +128,7 @@ Ae = [x({
|
|
|
128
128
|
selector: "tbw-grid[formArray]"
|
|
129
129
|
})];
|
|
130
130
|
class z {
|
|
131
|
-
elementRef =
|
|
131
|
+
elementRef = w(A);
|
|
132
132
|
cellCommitListener = null;
|
|
133
133
|
touchListener = null;
|
|
134
134
|
/**
|
|
@@ -181,8 +181,8 @@ class z {
|
|
|
181
181
|
updateField: (r, o, s) => {
|
|
182
182
|
const l = t(r);
|
|
183
183
|
if (l) {
|
|
184
|
-
const
|
|
185
|
-
|
|
184
|
+
const f = l.get(o);
|
|
185
|
+
f && (f.setValue(s), f.markAsDirty());
|
|
186
186
|
}
|
|
187
187
|
},
|
|
188
188
|
getValue: () => this.formArray().getRawValue(),
|
|
@@ -210,9 +210,9 @@ class z {
|
|
|
210
210
|
if (!o) return null;
|
|
211
211
|
const s = {};
|
|
212
212
|
let l = !1;
|
|
213
|
-
return Object.keys(o.controls).forEach((
|
|
214
|
-
const
|
|
215
|
-
|
|
213
|
+
return Object.keys(o.controls).forEach((f) => {
|
|
214
|
+
const g = o.get(f);
|
|
215
|
+
g?.errors && (s[f] = g.errors, l = !0);
|
|
216
216
|
}), o.errors && (s._group = o.errors, l = !0), l ? s : null;
|
|
217
217
|
}
|
|
218
218
|
};
|
|
@@ -235,7 +235,7 @@ class z {
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
|
-
Z =
|
|
238
|
+
Z = y(null), z = T(Z, 0, "GridFormArray", Ae, z), b(Z, 1, z);
|
|
239
239
|
const Ve = /* @__PURE__ */ new Map();
|
|
240
240
|
function it(i) {
|
|
241
241
|
const e = i.querySelector("tbw-grid-responsive-card");
|
|
@@ -247,7 +247,7 @@ xe = [x({
|
|
|
247
247
|
selector: "tbw-grid-responsive-card"
|
|
248
248
|
})];
|
|
249
249
|
class B {
|
|
250
|
-
elementRef =
|
|
250
|
+
elementRef = w(A);
|
|
251
251
|
/**
|
|
252
252
|
* The ng-template containing the card content.
|
|
253
253
|
*/
|
|
@@ -269,7 +269,7 @@ class B {
|
|
|
269
269
|
return !0;
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
|
-
ee =
|
|
272
|
+
ee = y(null), B = T(ee, 0, "GridResponsiveCard", xe, B), b(ee, 1, B);
|
|
273
273
|
const Ge = /* @__PURE__ */ new Map();
|
|
274
274
|
function ot(i) {
|
|
275
275
|
return Ge.get(i);
|
|
@@ -277,7 +277,7 @@ function ot(i) {
|
|
|
277
277
|
var Se, te;
|
|
278
278
|
Se = [x({ selector: "tbw-grid-tool-panel" })];
|
|
279
279
|
class U {
|
|
280
|
-
elementRef =
|
|
280
|
+
elementRef = w(A);
|
|
281
281
|
/** Unique panel identifier (required) */
|
|
282
282
|
id = c.required({ alias: "id" });
|
|
283
283
|
/** Panel title shown in accordion header (required) */
|
|
@@ -311,7 +311,7 @@ class U {
|
|
|
311
311
|
return !0;
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
|
-
te =
|
|
314
|
+
te = y(null), U = T(te, 0, "GridToolPanel", Se, U), b(te, 1, U);
|
|
315
315
|
const ce = /* @__PURE__ */ new Map(), ae = /* @__PURE__ */ new Map();
|
|
316
316
|
function st(i) {
|
|
317
317
|
const e = ce.get(i);
|
|
@@ -330,8 +330,8 @@ function lt(i) {
|
|
|
330
330
|
var Le, ne;
|
|
331
331
|
Le = [x({ selector: "[tbwRenderer]" })];
|
|
332
332
|
class J {
|
|
333
|
-
template =
|
|
334
|
-
elementRef =
|
|
333
|
+
template = w(F);
|
|
334
|
+
elementRef = w(A);
|
|
335
335
|
columnElement = null;
|
|
336
336
|
constructor() {
|
|
337
337
|
D(() => {
|
|
@@ -355,12 +355,12 @@ class J {
|
|
|
355
355
|
return !0;
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
ne =
|
|
358
|
+
ne = y(null), J = T(ne, 0, "TbwRenderer", Le, J), b(ne, 1, J);
|
|
359
359
|
var De, re;
|
|
360
360
|
De = [x({ selector: "[tbwEditor]" })];
|
|
361
361
|
class W {
|
|
362
|
-
template =
|
|
363
|
-
elementRef =
|
|
362
|
+
template = w(F);
|
|
363
|
+
elementRef = w(A);
|
|
364
364
|
columnElement = null;
|
|
365
365
|
constructor() {
|
|
366
366
|
D(() => {
|
|
@@ -384,14 +384,14 @@ class W {
|
|
|
384
384
|
return !0;
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
|
-
re =
|
|
387
|
+
re = y(null), W = T(re, 0, "TbwEditor", De, W), b(re, 1, W);
|
|
388
388
|
const qe = new He("GRID_TYPE_DEFAULTS");
|
|
389
389
|
var Pe, ie;
|
|
390
390
|
Pe = [Ye({ providedIn: "root" })];
|
|
391
391
|
class I {
|
|
392
392
|
defaults = /* @__PURE__ */ new Map();
|
|
393
393
|
constructor() {
|
|
394
|
-
const e =
|
|
394
|
+
const e = w(qe, { optional: !0 });
|
|
395
395
|
if (e)
|
|
396
396
|
for (const [t, n] of Object.entries(e))
|
|
397
397
|
this.defaults.set(t, n);
|
|
@@ -445,7 +445,7 @@ class I {
|
|
|
445
445
|
};
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
|
-
ie =
|
|
448
|
+
ie = y(null), I = T(ie, 0, "GridTypeRegistry", Pe, I), b(ie, 1, I);
|
|
449
449
|
function ft(i) {
|
|
450
450
|
return Xe([{ provide: qe, useValue: i }]);
|
|
451
451
|
}
|
|
@@ -562,20 +562,20 @@ class ct {
|
|
|
562
562
|
createEditor(e) {
|
|
563
563
|
const t = Ee(e), n = e.closest("tbw-grid");
|
|
564
564
|
return t ? (r) => {
|
|
565
|
-
const o = (
|
|
566
|
-
l.subscribe((
|
|
567
|
-
let
|
|
565
|
+
const o = (h) => r.commit(h), s = () => r.cancel(), l = new ge(), f = new ge();
|
|
566
|
+
l.subscribe((h) => r.commit(h)), f.subscribe(() => r.cancel());
|
|
567
|
+
let g;
|
|
568
568
|
if (n) {
|
|
569
|
-
const
|
|
570
|
-
if (
|
|
569
|
+
const h = rt(n);
|
|
570
|
+
if (h?.hasFormGroups) {
|
|
571
571
|
const S = n.rows;
|
|
572
572
|
if (S) {
|
|
573
573
|
const M = S.indexOf(r.row);
|
|
574
|
-
M >= 0 && (
|
|
574
|
+
M >= 0 && (g = h.getControl(M, r.field));
|
|
575
575
|
}
|
|
576
576
|
}
|
|
577
577
|
}
|
|
578
|
-
const
|
|
578
|
+
const E = {
|
|
579
579
|
$implicit: r.value,
|
|
580
580
|
value: r.value,
|
|
581
581
|
row: r.row,
|
|
@@ -584,15 +584,15 @@ class ct {
|
|
|
584
584
|
onCommit: o,
|
|
585
585
|
onCancel: s,
|
|
586
586
|
// FormControl from FormArray (if available)
|
|
587
|
-
control:
|
|
587
|
+
control: g,
|
|
588
588
|
// Deprecated: EventEmitters (for backwards compatibility)
|
|
589
589
|
commit: l,
|
|
590
|
-
cancel:
|
|
591
|
-
}, a = this.viewContainerRef.createEmbeddedView(t,
|
|
590
|
+
cancel: f
|
|
591
|
+
}, a = this.viewContainerRef.createEmbeddedView(t, E);
|
|
592
592
|
this.viewRefs.push(a), a.detectChanges();
|
|
593
593
|
const R = a.rootNodes[0];
|
|
594
|
-
return R && R.addEventListener && (R.addEventListener("commit", (
|
|
595
|
-
const S =
|
|
594
|
+
return R && R.addEventListener && (R.addEventListener("commit", (h) => {
|
|
595
|
+
const S = h;
|
|
596
596
|
r.commit(S.detail);
|
|
597
597
|
}), R.addEventListener("cancel", () => {
|
|
598
598
|
r.cancel();
|
|
@@ -654,7 +654,7 @@ class ct {
|
|
|
654
654
|
}, s = this.viewContainerRef.createEmbeddedView(t, o);
|
|
655
655
|
this.viewRefs.push(s), s.detectChanges();
|
|
656
656
|
const l = document.createElement("div");
|
|
657
|
-
return s.rootNodes.forEach((
|
|
657
|
+
return s.rootNodes.forEach((f) => l.appendChild(f)), l;
|
|
658
658
|
};
|
|
659
659
|
}
|
|
660
660
|
/**
|
|
@@ -789,7 +789,7 @@ class ct {
|
|
|
789
789
|
}
|
|
790
790
|
}
|
|
791
791
|
function gt() {
|
|
792
|
-
const i =
|
|
792
|
+
const i = w(A), e = G(!1), t = G(null), n = G(null);
|
|
793
793
|
Ke(() => {
|
|
794
794
|
const u = i.nativeElement.querySelector("tbw-grid");
|
|
795
795
|
if (!u) {
|
|
@@ -814,18 +814,18 @@ function gt() {
|
|
|
814
814
|
}, l = async (u) => {
|
|
815
815
|
const m = n();
|
|
816
816
|
m && await m.toggleGroup?.(u);
|
|
817
|
-
},
|
|
817
|
+
}, f = (u, m) => {
|
|
818
818
|
n()?.registerStyles?.(u, m);
|
|
819
|
-
},
|
|
819
|
+
}, g = (u) => {
|
|
820
820
|
n()?.unregisterStyles?.(u);
|
|
821
|
-
},
|
|
821
|
+
}, E = () => {
|
|
822
822
|
const u = n(), m = u?.getPluginByName?.("selection");
|
|
823
823
|
if (!m) {
|
|
824
824
|
console.warn("[injectGrid] selectAll requires SelectionPlugin");
|
|
825
825
|
return;
|
|
826
826
|
}
|
|
827
827
|
if (m.config?.mode === "row") {
|
|
828
|
-
const d = u?.rows ?? [], C = new Set(d.map((
|
|
828
|
+
const d = u?.rows ?? [], C = new Set(d.map((v, L) => L));
|
|
829
829
|
m.selected = C, m.requestAfterRender?.();
|
|
830
830
|
}
|
|
831
831
|
}, a = () => {
|
|
@@ -839,8 +839,8 @@ function gt() {
|
|
|
839
839
|
if (m.config?.mode === "row")
|
|
840
840
|
return new Set(m.selected ?? []);
|
|
841
841
|
const d = m.ranges ?? [], C = /* @__PURE__ */ new Set();
|
|
842
|
-
for (const
|
|
843
|
-
for (let L =
|
|
842
|
+
for (const v of d)
|
|
843
|
+
for (let L = v.startRow; L <= v.endRow; L++)
|
|
844
844
|
C.add(L);
|
|
845
845
|
return C;
|
|
846
846
|
};
|
|
@@ -852,9 +852,9 @@ function gt() {
|
|
|
852
852
|
getConfig: o,
|
|
853
853
|
forceLayout: s,
|
|
854
854
|
toggleGroup: l,
|
|
855
|
-
registerStyles:
|
|
856
|
-
unregisterStyles:
|
|
857
|
-
selectAll:
|
|
855
|
+
registerStyles: f,
|
|
856
|
+
unregisterStyles: g,
|
|
857
|
+
selectAll: E,
|
|
858
858
|
clearSelection: a,
|
|
859
859
|
getSelectedIndices: R,
|
|
860
860
|
getSelectedRows: () => {
|
|
@@ -884,7 +884,7 @@ function gt() {
|
|
|
884
884
|
var Fe, oe;
|
|
885
885
|
Fe = [x()];
|
|
886
886
|
class H {
|
|
887
|
-
elementRef =
|
|
887
|
+
elementRef = w(A);
|
|
888
888
|
// ============================================================================
|
|
889
889
|
// Inputs
|
|
890
890
|
// ============================================================================
|
|
@@ -1014,22 +1014,25 @@ class H {
|
|
|
1014
1014
|
}
|
|
1015
1015
|
}
|
|
1016
1016
|
}
|
|
1017
|
-
oe =
|
|
1017
|
+
oe = y(null), H = T(oe, 0, "BaseGridEditor", Fe, H), b(oe, 1, H);
|
|
1018
1018
|
var Me, se;
|
|
1019
1019
|
Me = [x({ selector: "tbw-grid" })];
|
|
1020
1020
|
class Y {
|
|
1021
|
-
elementRef =
|
|
1022
|
-
injector =
|
|
1023
|
-
appRef =
|
|
1024
|
-
viewContainerRef =
|
|
1021
|
+
elementRef = w(A);
|
|
1022
|
+
injector = w(Qe);
|
|
1023
|
+
appRef = w(Ze);
|
|
1024
|
+
viewContainerRef = w(et);
|
|
1025
1025
|
adapter = null;
|
|
1026
1026
|
constructor() {
|
|
1027
1027
|
D(() => {
|
|
1028
1028
|
const e = this.angularConfig();
|
|
1029
1029
|
if (!this.adapter) return;
|
|
1030
|
-
const t = e ? this.adapter.processGridConfig(e) : {}, n = this.createFeaturePlugins(), r = t.plugins || [], o = [...n, ...r], s = this.
|
|
1031
|
-
s.
|
|
1030
|
+
const t = e ? this.adapter.processGridConfig(e) : {}, n = this.createFeaturePlugins(), r = t.plugins || [], o = [...n, ...r], s = this.sortable(), l = this.filterable(), f = this.selectable(), g = {};
|
|
1031
|
+
s !== void 0 && (g.sortable = s), l !== void 0 && (g.filterable = l), f !== void 0 && (g.selectable = f);
|
|
1032
|
+
const E = this.elementRef.nativeElement;
|
|
1033
|
+
E.gridConfig = {
|
|
1032
1034
|
...t,
|
|
1035
|
+
...g,
|
|
1033
1036
|
plugins: o.length > 0 ? o : void 0
|
|
1034
1037
|
};
|
|
1035
1038
|
});
|
|
@@ -1052,6 +1055,67 @@ class Y {
|
|
|
1052
1055
|
* ```
|
|
1053
1056
|
*/
|
|
1054
1057
|
customStyles = c();
|
|
1058
|
+
/**
|
|
1059
|
+
* Grid-wide sorting toggle.
|
|
1060
|
+
* When false, disables sorting for all columns regardless of their individual `sortable` setting.
|
|
1061
|
+
* When true (default), columns with `sortable: true` can be sorted.
|
|
1062
|
+
*
|
|
1063
|
+
* This is a core grid config property, not a plugin feature.
|
|
1064
|
+
* For multi-column sorting, also add the `[multiSort]` feature.
|
|
1065
|
+
*
|
|
1066
|
+
* @default true
|
|
1067
|
+
*
|
|
1068
|
+
* @example
|
|
1069
|
+
* ```html
|
|
1070
|
+
* <!-- Disable all sorting -->
|
|
1071
|
+
* <tbw-grid [sortable]="false" />
|
|
1072
|
+
*
|
|
1073
|
+
* <!-- Enable sorting (default) - columns still need sortable: true -->
|
|
1074
|
+
* <tbw-grid [sortable]="true" />
|
|
1075
|
+
*
|
|
1076
|
+
* <!-- Enable multi-column sorting -->
|
|
1077
|
+
* <tbw-grid [sortable]="true" [multiSort]="true" />
|
|
1078
|
+
* ```
|
|
1079
|
+
*/
|
|
1080
|
+
sortable = c();
|
|
1081
|
+
/**
|
|
1082
|
+
* Grid-wide filtering toggle.
|
|
1083
|
+
* When false, disables filtering for all columns regardless of their individual `filterable` setting.
|
|
1084
|
+
* When true (default), columns with `filterable: true` can be filtered.
|
|
1085
|
+
*
|
|
1086
|
+
* Requires the FilteringPlugin to be loaded.
|
|
1087
|
+
*
|
|
1088
|
+
* @default true
|
|
1089
|
+
*
|
|
1090
|
+
* @example
|
|
1091
|
+
* ```html
|
|
1092
|
+
* <!-- Disable all filtering -->
|
|
1093
|
+
* <tbw-grid [filterable]="false" [filtering]="true" />
|
|
1094
|
+
*
|
|
1095
|
+
* <!-- Enable filtering (default) -->
|
|
1096
|
+
* <tbw-grid [filterable]="true" [filtering]="true" />
|
|
1097
|
+
* ```
|
|
1098
|
+
*/
|
|
1099
|
+
filterable = c();
|
|
1100
|
+
/**
|
|
1101
|
+
* Grid-wide selection toggle.
|
|
1102
|
+
* When false, disables selection for all rows/cells.
|
|
1103
|
+
* When true (default), selection is enabled based on plugin mode.
|
|
1104
|
+
*
|
|
1105
|
+
* Requires the SelectionPlugin to be loaded.
|
|
1106
|
+
*
|
|
1107
|
+
* @default true
|
|
1108
|
+
*
|
|
1109
|
+
* @example
|
|
1110
|
+
* ```html
|
|
1111
|
+
* <!-- Disable all selection -->
|
|
1112
|
+
* <tbw-grid [selectable]="false" [selection]="'range'" />
|
|
1113
|
+
*
|
|
1114
|
+
* <!-- Enable selection (default) -->
|
|
1115
|
+
* <tbw-grid [selectable]="true" [selection]="'range'" />
|
|
1116
|
+
* ```
|
|
1117
|
+
*/
|
|
1118
|
+
selectable = c();
|
|
1055
1119
|
/**
|
|
1056
1120
|
* Angular-specific grid configuration that supports component classes for renderers/editors.
|
|
1057
1121
|
*
|
|
@@ -1160,23 +1224,37 @@ class Y {
|
|
|
1160
1224
|
*/
|
|
1161
1225
|
contextMenu = c();
|
|
1162
1226
|
/**
|
|
1163
|
-
* Enable column sorting.
|
|
1227
|
+
* Enable multi-column sorting.
|
|
1228
|
+
*
|
|
1229
|
+
* Multi-sort allows users to sort by multiple columns simultaneously.
|
|
1230
|
+
* For basic single-column sorting, columns with `sortable: true` work without this plugin.
|
|
1164
1231
|
*
|
|
1165
1232
|
* **Requires feature import:**
|
|
1166
1233
|
* ```typescript
|
|
1167
|
-
* import '@toolbox-web/grid-angular/features/
|
|
1234
|
+
* import '@toolbox-web/grid-angular/features/multi-sort';
|
|
1168
1235
|
* ```
|
|
1169
1236
|
*
|
|
1170
1237
|
* @example
|
|
1171
1238
|
* ```html
|
|
1172
|
-
* <!-- Enable
|
|
1173
|
-
* <tbw-grid [
|
|
1239
|
+
* <!-- Enable multi-column sorting -->
|
|
1240
|
+
* <tbw-grid [multiSort]="true" />
|
|
1174
1241
|
*
|
|
1175
|
-
* <!--
|
|
1176
|
-
* <tbw-grid [
|
|
1242
|
+
* <!-- Limit to single column (uses plugin but restricts to 1 column) -->
|
|
1243
|
+
* <tbw-grid [multiSort]="'single'" />
|
|
1177
1244
|
*
|
|
1178
|
-
* <!--
|
|
1179
|
-
* <tbw-grid [
|
|
1245
|
+
* <!-- Full config -->
|
|
1246
|
+
* <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
|
|
1247
|
+
* ```
|
|
1248
|
+
*/
|
|
1249
|
+
multiSort = c();
|
|
1250
|
+
/**
|
|
1251
|
+
* @deprecated Use `[multiSort]` instead. Will be removed in a future version.
|
|
1252
|
+
*
|
|
1253
|
+
* Enable column sorting. This is an alias for `[multiSort]`.
|
|
1254
|
+
*
|
|
1255
|
+
* **Requires feature import:**
|
|
1256
|
+
* ```typescript
|
|
1257
|
+
* import '@toolbox-web/grid-angular/features/multi-sort';
|
|
1180
1258
|
* ```
|
|
1181
1259
|
*/
|
|
1182
1260
|
sorting = c();
|
|
@@ -1727,7 +1805,7 @@ class Y {
|
|
|
1727
1805
|
const o = tt(n, r);
|
|
1728
1806
|
o && e.push(o);
|
|
1729
1807
|
};
|
|
1730
|
-
return t("selection", this.selection()), t("editing", this.editing()), t("clipboard", this.clipboard()), t("contextMenu", this.contextMenu()), t("
|
|
1808
|
+
return t("selection", this.selection()), t("editing", this.editing()), t("clipboard", this.clipboard()), t("contextMenu", this.contextMenu()), t("multiSort", this.multiSort() ?? this.sorting()), t("filtering", this.filtering()), t("reorder", this.reorder()), t("visibility", this.visibility()), t("pinnedColumns", this.pinnedColumns()), t("groupingColumns", this.groupingColumns()), t("columnVirtualization", this.columnVirtualization()), t("rowReorder", this.rowReorder()), t("groupingRows", this.groupingRows()), t("pinnedRows", this.pinnedRows()), t("tree", this.tree()), t("masterDetail", this.masterDetail()), t("responsive", this.responsive()), t("undoRedo", this.undoRedo()), t("export", this.exportFeature()), t("print", this.print()), t("pivot", this.pivot()), t("serverSide", this.serverSide()), e;
|
|
1731
1809
|
}
|
|
1732
1810
|
ngAfterContentInit() {
|
|
1733
1811
|
const e = this.elementRef.nativeElement;
|
|
@@ -1764,14 +1842,14 @@ class Y {
|
|
|
1764
1842
|
const o = n.getAttribute("animation");
|
|
1765
1843
|
let s = "slide";
|
|
1766
1844
|
o === "false" ? s = !1 : o === "fade" && (s = "fade");
|
|
1767
|
-
const l = n.getAttribute("showExpandColumn") !== "false", { MasterDetailPlugin:
|
|
1845
|
+
const l = n.getAttribute("showExpandColumn") !== "false", { MasterDetailPlugin: f } = await import("@toolbox-web/grid/plugins/master-detail"), g = new f({
|
|
1768
1846
|
detailRenderer: r,
|
|
1769
1847
|
showExpandColumn: l,
|
|
1770
1848
|
animation: s
|
|
1771
|
-
}),
|
|
1849
|
+
}), E = e.gridConfig || {}, a = E.plugins || [];
|
|
1772
1850
|
e.gridConfig = {
|
|
1773
|
-
...
|
|
1774
|
-
plugins: [...a,
|
|
1851
|
+
...E,
|
|
1852
|
+
plugins: [...a, g]
|
|
1775
1853
|
};
|
|
1776
1854
|
}
|
|
1777
1855
|
/**
|
|
@@ -1808,7 +1886,7 @@ Add ResponsivePlugin to your gridConfig.plugins array:
|
|
|
1808
1886
|
e && this.customStyles() && e.unregisterStyles?.("angular-custom-styles"), this.adapter && (this.adapter.destroy?.(), this.adapter = null);
|
|
1809
1887
|
}
|
|
1810
1888
|
}
|
|
1811
|
-
se =
|
|
1889
|
+
se = y(null), Y = T(se, 0, "Grid", Me, Y), b(se, 1, Y);
|
|
1812
1890
|
export {
|
|
1813
1891
|
ct as AngularGridAdapter,
|
|
1814
1892
|
H as BaseGridEditor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-grid-adapter.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/lib/angular-grid-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,mBAAmB,EAInB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAEV,YAAY,EAEZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAmC7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAMvD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,gBAAgB;IAP1B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAAiC;gBAG3C,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,gBAAgB;IAc5C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,iBAAiB,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;IAapF;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;IAgBpF;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIxC;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;IA+BxG;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;IAmFpG;;;OAGG;IACH,oBAAoB,CAAC,IAAI,GAAG,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,WAAW,CAAC,GAAG,SAAS;IA4BxG;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/B,aAAa,EAAE,OAAO,GACrB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,GAAG,SAAS;IA4BtE;;;;;;OAMG;IACH,4BAA4B,CAAC,IAAI,GAAG,OAAO,EACzC,WAAW,EAAE,WAAW,GACvB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,SAAS;IA6B7D;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS;IAsC5G;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"angular-grid-adapter.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/lib/angular-grid-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,mBAAmB,EAInB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAEV,YAAY,EAEZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAmC7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAMvD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,gBAAgB;IAP1B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAAiC;gBAG3C,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,gBAAgB;IAc5C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,iBAAiB,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;IAapF;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;IAgBpF;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIxC;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;IA+BxG;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;IAmFpG;;;OAGG;IACH,oBAAoB,CAAC,IAAI,GAAG,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,WAAW,CAAC,GAAG,SAAS;IA4BxG;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/B,aAAa,EAAE,OAAO,GACrB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,GAAG,SAAS;IA4BtE;;;;;;OAMG;IACH,4BAA4B,CAAC,IAAI,GAAG,OAAO,EACzC,WAAW,EAAE,WAAW,GACvB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,SAAS;IA6B7D;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS;IAsC5G;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS;IA4B3E;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA+C7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;OAGG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -96,6 +96,67 @@ export declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
96
96
|
* ```
|
|
97
97
|
*/
|
|
98
98
|
customStyles: import('@angular/core').InputSignal<string | undefined>;
|
|
99
|
+
/**
|
|
100
|
+
* Grid-wide sorting toggle.
|
|
101
|
+
* When false, disables sorting for all columns regardless of their individual `sortable` setting.
|
|
102
|
+
* When true (default), columns with `sortable: true` can be sorted.
|
|
103
|
+
*
|
|
104
|
+
* This is a core grid config property, not a plugin feature.
|
|
105
|
+
* For multi-column sorting, also add the `[multiSort]` feature.
|
|
106
|
+
*
|
|
107
|
+
* @default true
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```html
|
|
111
|
+
* <!-- Disable all sorting -->
|
|
112
|
+
* <tbw-grid [sortable]="false" />
|
|
113
|
+
*
|
|
114
|
+
* <!-- Enable sorting (default) - columns still need sortable: true -->
|
|
115
|
+
* <tbw-grid [sortable]="true" />
|
|
116
|
+
*
|
|
117
|
+
* <!-- Enable multi-column sorting -->
|
|
118
|
+
* <tbw-grid [sortable]="true" [multiSort]="true" />
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
sortable: import('@angular/core').InputSignal<boolean | undefined>;
|
|
122
|
+
/**
|
|
123
|
+
* Grid-wide filtering toggle.
|
|
124
|
+
* When false, disables filtering for all columns regardless of their individual `filterable` setting.
|
|
125
|
+
* When true (default), columns with `filterable: true` can be filtered.
|
|
126
|
+
*
|
|
127
|
+
* Requires the FilteringPlugin to be loaded.
|
|
128
|
+
*
|
|
129
|
+
* @default true
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```html
|
|
133
|
+
* <!-- Disable all filtering -->
|
|
134
|
+
* <tbw-grid [filterable]="false" [filtering]="true" />
|
|
135
|
+
*
|
|
136
|
+
* <!-- Enable filtering (default) -->
|
|
137
|
+
* <tbw-grid [filterable]="true" [filtering]="true" />
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
filterable: import('@angular/core').InputSignal<boolean | undefined>;
|
|
141
|
+
/**
|
|
142
|
+
* Grid-wide selection toggle.
|
|
143
|
+
* When false, disables selection for all rows/cells.
|
|
144
|
+
* When true (default), selection is enabled based on plugin mode.
|
|
145
|
+
*
|
|
146
|
+
* Requires the SelectionPlugin to be loaded.
|
|
147
|
+
*
|
|
148
|
+
* @default true
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```html
|
|
152
|
+
* <!-- Disable all selection -->
|
|
153
|
+
* <tbw-grid [selectable]="false" [selection]="'range'" />
|
|
154
|
+
*
|
|
155
|
+
* <!-- Enable selection (default) -->
|
|
156
|
+
* <tbw-grid [selectable]="true" [selection]="'range'" />
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
selectable: import('@angular/core').InputSignal<boolean | undefined>;
|
|
99
160
|
/**
|
|
100
161
|
* Angular-specific grid configuration that supports component classes for renderers/editors.
|
|
101
162
|
*
|
|
@@ -199,23 +260,37 @@ export declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
199
260
|
*/
|
|
200
261
|
contextMenu: import('@angular/core').InputSignal<boolean | ContextMenuConfig | undefined>;
|
|
201
262
|
/**
|
|
202
|
-
* Enable column sorting.
|
|
263
|
+
* Enable multi-column sorting.
|
|
264
|
+
*
|
|
265
|
+
* Multi-sort allows users to sort by multiple columns simultaneously.
|
|
266
|
+
* For basic single-column sorting, columns with `sortable: true` work without this plugin.
|
|
203
267
|
*
|
|
204
268
|
* **Requires feature import:**
|
|
205
269
|
* ```typescript
|
|
206
|
-
* import '@toolbox-web/grid-angular/features/
|
|
270
|
+
* import '@toolbox-web/grid-angular/features/multi-sort';
|
|
207
271
|
* ```
|
|
208
272
|
*
|
|
209
273
|
* @example
|
|
210
274
|
* ```html
|
|
211
|
-
* <!-- Enable
|
|
212
|
-
* <tbw-grid [
|
|
275
|
+
* <!-- Enable multi-column sorting -->
|
|
276
|
+
* <tbw-grid [multiSort]="true" />
|
|
213
277
|
*
|
|
214
|
-
* <!--
|
|
215
|
-
* <tbw-grid [
|
|
278
|
+
* <!-- Limit to single column (uses plugin but restricts to 1 column) -->
|
|
279
|
+
* <tbw-grid [multiSort]="'single'" />
|
|
216
280
|
*
|
|
217
|
-
* <!--
|
|
218
|
-
* <tbw-grid [
|
|
281
|
+
* <!-- Full config -->
|
|
282
|
+
* <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
|
|
283
|
+
* ```
|
|
284
|
+
*/
|
|
285
|
+
multiSort: import('@angular/core').InputSignal<boolean | "multi" | MultiSortConfig | "single" | undefined>;
|
|
286
|
+
/**
|
|
287
|
+
* @deprecated Use `[multiSort]` instead. Will be removed in a future version.
|
|
288
|
+
*
|
|
289
|
+
* Enable column sorting. This is an alias for `[multiSort]`.
|
|
290
|
+
*
|
|
291
|
+
* **Requires feature import:**
|
|
292
|
+
* ```typescript
|
|
293
|
+
* import '@toolbox-web/grid-angular/features/multi-sort';
|
|
219
294
|
* ```
|
|
220
295
|
*/
|
|
221
296
|
sorting: import('@angular/core').InputSignal<boolean | "multi" | MultiSortConfig | "single" | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.directive.d.ts","sourceRoot":"","sources":["../../../../../libs/grid-angular/src/lib/directives/grid.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAQhB,SAAS,EACT,MAAM,EAGP,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EAEf,cAAc,EACd,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAElB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAEtB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAC/D,0BAA0B;IAC1B,GAAG,EAAE,IAAI,CAAC;IACV,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,iDAAiD;IACjD,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,yDAAyD;IACzD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,IAAI,GAAG,OAAO;IAC5C,0BAA0B;IAC1B,GAAG,EAAE,IAAI,CAAC;IACV,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,iDAAiD;IACjD,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,yDAAyD;IACzD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBACa,IAAK,YAAW,MAAM,EAAE,gBAAgB,EAAE,SAAS;IAC9D,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,OAAO,CAAmC;;
|
|
1
|
+
{"version":3,"file":"grid.directive.d.ts","sourceRoot":"","sources":["../../../../../libs/grid-angular/src/lib/directives/grid.directive.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
/**
|
|
19
19
|
* Feature names supported by the Grid directive.
|
|
20
20
|
*/
|
|
21
|
-
export type FeatureName = 'selection' | 'editing' | 'clipboard' | 'contextMenu' | 'sorting' | 'filtering' | 'reorder' | 'visibility' | 'pinnedColumns' | 'groupingColumns' | 'columnVirtualization' | 'rowReorder' | 'groupingRows' | 'pinnedRows' | 'tree' | 'masterDetail' | 'responsive' | 'undoRedo' | 'export' | 'print' | 'pivot' | 'serverSide';
|
|
21
|
+
export type FeatureName = 'selection' | 'editing' | 'clipboard' | 'contextMenu' | 'multiSort' | 'sorting' | 'filtering' | 'reorder' | 'visibility' | 'pinnedColumns' | 'groupingColumns' | 'columnVirtualization' | 'rowReorder' | 'groupingRows' | 'pinnedRows' | 'tree' | 'masterDetail' | 'responsive' | 'undoRedo' | 'export' | 'print' | 'pivot' | 'serverSide';
|
|
22
22
|
/**
|
|
23
23
|
* Plugin factory function type.
|
|
24
24
|
* Takes configuration and returns a plugin instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-registry.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/lib/feature-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,GACT,WAAW,GACX,SAAS,GACT,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,sBAAsB,GACtB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,MAAM,GACN,cAAc,GACd,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,OAAO,GACP,OAAO,GACP,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;AAuB5E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAK3G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAE9E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAqBlH;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
|
|
1
|
+
{"version":3,"file":"feature-registry.d.ts","sourceRoot":"","sources":["../../../../libs/grid-angular/src/lib/feature-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,SAAS,GACT,WAAW,GACX,aAAa,GACb,WAAW,GACX,SAAS,GACT,WAAW,GACX,SAAS,GACT,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,sBAAsB,GACtB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,MAAM,GACN,cAAc,GACd,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,OAAO,GACP,OAAO,GACP,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;AAuB5E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAK3G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAE9E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAqBlH;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
|