@mintplayer/ng-bootstrap 15.23.0 → 15.23.2
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/esm2020/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +2 -2
- package/esm2020/resizable/src/index.mjs +2 -1
- package/esm2020/resizable/src/interfaces/resize-action.mjs +1 -1
- package/esm2020/resizable/src/resizable/resizable.component.mjs +48 -8
- package/esm2020/resizable/src/resize-glyph/resize-glyph.directive.mjs +64 -18
- package/esm2020/resizable/src/types/index.mjs +2 -0
- package/esm2020/resizable/src/types/positioning.mjs +2 -0
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-resizable.mjs +109 -23
- package/fesm2015/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-resizable.mjs +109 -23
- package/fesm2020/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/package.json +1 -1
- package/resizable/src/index.d.ts +1 -0
- package/resizable/src/interfaces/resize-action.d.ts +4 -2
- package/resizable/src/resizable/resizable.component.d.ts +16 -3
- package/resizable/src/types/index.d.ts +1 -0
- package/resizable/src/types/positioning.d.ts +1 -0
- package/src/styles/utilities/cursor.scss +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Directive, Inject, HostBinding, Input, HostListener, forwardRef, Component, NgModule } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
3
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { BehaviorSubject, Subject, map, takeUntil } from 'rxjs';
|
|
4
6
|
|
|
5
7
|
const RESIZABLE = new InjectionToken('Resizable');
|
|
6
8
|
|
|
@@ -38,13 +40,15 @@ class BsResizeGlyphDirective {
|
|
|
38
40
|
this.onPointerUp();
|
|
39
41
|
}
|
|
40
42
|
onPointerDown() {
|
|
41
|
-
let action = {
|
|
43
|
+
let action = {
|
|
44
|
+
positioning: this.resizable.positioning
|
|
45
|
+
};
|
|
42
46
|
const rect = this.resizable.element.nativeElement.getBoundingClientRect();
|
|
43
47
|
const styles = window.getComputedStyle(this.resizable.element.nativeElement);
|
|
44
|
-
const marginLeft = parseFloat(styles.marginLeft.slice(0, -2));
|
|
45
|
-
const marginRight = parseFloat(styles.marginRight.slice(0, -2));
|
|
46
|
-
const marginTop = parseFloat(styles.marginTop.slice(0, -2));
|
|
47
|
-
const marginBottom = parseFloat(styles.marginBottom.slice(0, -2));
|
|
48
|
+
const marginLeft = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginLeft.slice(0, -2));
|
|
49
|
+
const marginRight = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginRight.slice(0, -2));
|
|
50
|
+
const marginTop = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginTop.slice(0, -2));
|
|
51
|
+
const marginBottom = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginBottom.slice(0, -2));
|
|
48
52
|
if (this.positions?.includes('start')) {
|
|
49
53
|
action = {
|
|
50
54
|
...action,
|
|
@@ -91,39 +95,83 @@ class BsResizeGlyphDirective {
|
|
|
91
95
|
}
|
|
92
96
|
this.resizable.resizeAction = action;
|
|
93
97
|
this.activeClass = true;
|
|
94
|
-
console.log('resize', action);
|
|
95
98
|
}
|
|
96
99
|
onPointerMove(ev) {
|
|
97
100
|
if (this.resizable.resizeAction && !this.isBusy) {
|
|
98
101
|
ev.preventDefault();
|
|
99
102
|
this.isBusy = true;
|
|
100
103
|
const rct = this.resizable.element.nativeElement.getBoundingClientRect();
|
|
101
|
-
// console.log('position', ev);
|
|
102
104
|
if (this.resizable.resizeAction.start && this.positions?.includes('end')) {
|
|
103
105
|
// Right glyph
|
|
104
|
-
const initalMargin = this.resizable.marginRight ?? 0;
|
|
105
106
|
const x = (ev.clientX < rct.left + 10) ? rct.left + 10 : ev.clientX;
|
|
106
|
-
this.resizable.
|
|
107
|
+
switch (this.resizable.positioning) {
|
|
108
|
+
case 'inline':
|
|
109
|
+
{
|
|
110
|
+
const initalMargin = this.resizable.marginRight ?? 0;
|
|
111
|
+
this.resizable.marginRight = initalMargin - (x - rct.right);
|
|
112
|
+
}
|
|
113
|
+
break;
|
|
114
|
+
case 'absolute':
|
|
115
|
+
{
|
|
116
|
+
this.resizable.width = x - rct.left;
|
|
117
|
+
}
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
107
120
|
}
|
|
108
121
|
else if (this.resizable.resizeAction.end && this.positions?.includes('start')) {
|
|
109
122
|
// Left glyph
|
|
110
|
-
const initalMargin = this.resizable.marginLeft ?? 0;
|
|
111
123
|
const x = (ev.clientX > rct.right - 10) ? rct.right - 10 : ev.clientX;
|
|
112
|
-
this.resizable.
|
|
124
|
+
switch (this.resizable.positioning) {
|
|
125
|
+
case 'inline':
|
|
126
|
+
{
|
|
127
|
+
const initalMargin = this.resizable.marginLeft ?? 0;
|
|
128
|
+
this.resizable.marginLeft = initalMargin + x - rct.left;
|
|
129
|
+
}
|
|
130
|
+
break;
|
|
131
|
+
case 'absolute':
|
|
132
|
+
{
|
|
133
|
+
this.resizable.left = x;
|
|
134
|
+
this.resizable.width = this.resizable.resizeAction.end.edge - x;
|
|
135
|
+
}
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
113
138
|
}
|
|
114
139
|
if (this.resizable.resizeAction.top && this.positions?.includes('bottom')) {
|
|
115
140
|
// Bottom glyph
|
|
116
|
-
const initalMargin = this.resizable.marginBottom ?? 0;
|
|
117
141
|
const y = (ev.clientY < rct.top + 10) ? rct.top + 10 : ev.clientY;
|
|
118
|
-
this.resizable.
|
|
119
|
-
|
|
142
|
+
switch (this.resizable.positioning) {
|
|
143
|
+
case 'inline':
|
|
144
|
+
{
|
|
145
|
+
const initalMargin = this.resizable.marginBottom ?? 0;
|
|
146
|
+
this.resizable.height = y - rct.top;
|
|
147
|
+
this.resizable.marginBottom = initalMargin - (y - rct.bottom);
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
case 'absolute':
|
|
151
|
+
{
|
|
152
|
+
this.resizable.height = y - rct.top;
|
|
153
|
+
}
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
120
156
|
}
|
|
121
157
|
else if (this.resizable.resizeAction.bottom && this.positions?.includes('top')) {
|
|
122
158
|
// Top glyph
|
|
123
|
-
const initalMargin = this.resizable.marginTop ?? 0;
|
|
124
159
|
const y = (ev.clientY > rct.bottom - 10) ? rct.bottom - 10 : ev.clientY;
|
|
125
|
-
this.resizable.
|
|
126
|
-
|
|
160
|
+
switch (this.resizable.positioning) {
|
|
161
|
+
case 'inline':
|
|
162
|
+
{
|
|
163
|
+
const initalMargin = this.resizable.marginTop ?? 0;
|
|
164
|
+
this.resizable.height = rct.bottom - y;
|
|
165
|
+
this.resizable.marginTop = initalMargin + y - rct.top;
|
|
166
|
+
}
|
|
167
|
+
break;
|
|
168
|
+
case 'absolute':
|
|
169
|
+
{
|
|
170
|
+
this.resizable.top = y;
|
|
171
|
+
this.resizable.height = this.resizable.resizeAction.bottom.edge - y;
|
|
172
|
+
}
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
127
175
|
}
|
|
128
176
|
this.isBusy = false;
|
|
129
177
|
}
|
|
@@ -176,20 +224,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
|
|
|
176
224
|
|
|
177
225
|
class BsResizableComponent {
|
|
178
226
|
constructor(element) {
|
|
227
|
+
//#region Positioning
|
|
228
|
+
this.positioning$ = new BehaviorSubject('inline');
|
|
179
229
|
this.classes = true;
|
|
230
|
+
this.hostClass = null;
|
|
231
|
+
this.destroyed$ = new Subject();
|
|
180
232
|
this.element = element;
|
|
233
|
+
this.hostPosition$ = this.positioning$.pipe(map((positioning) => {
|
|
234
|
+
switch (positioning) {
|
|
235
|
+
case 'absolute': return 'position-absolute';
|
|
236
|
+
case 'inline': return 'position-relative';
|
|
237
|
+
}
|
|
238
|
+
}));
|
|
239
|
+
this.wrapperPosition$ = this.positioning$.pipe(map((positioning) => {
|
|
240
|
+
switch (positioning) {
|
|
241
|
+
case 'absolute': return ['position-relative', 'h-100'];
|
|
242
|
+
case 'inline': return [];
|
|
243
|
+
}
|
|
244
|
+
}));
|
|
245
|
+
this.hostPosition$.pipe(takeUntil(this.destroyed$))
|
|
246
|
+
.subscribe(hostPosition => this.hostClass = hostPosition);
|
|
247
|
+
}
|
|
248
|
+
get positioning() {
|
|
249
|
+
return this.positioning$.value;
|
|
250
|
+
}
|
|
251
|
+
set positioning(value) {
|
|
252
|
+
this.positioning$.next(value);
|
|
253
|
+
}
|
|
254
|
+
ngOnDestroy() {
|
|
255
|
+
this.destroyed$.next(true);
|
|
181
256
|
}
|
|
182
257
|
}
|
|
183
258
|
BsResizableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsResizableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
-
BsResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsResizableComponent, selector: "bs-resizable", host: { properties: { "style.margin-left.px": "this.marginLeft", "style.margin-right.px": "this.marginRight", "style.margin-top.px": "this.marginTop", "style.margin-bottom.px": "this.marginBottom", "style.height.px": "this.height", "class.d-block": "this.classes", "class.border": "this.classes", "class
|
|
259
|
+
BsResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsResizableComponent, selector: "bs-resizable", inputs: { positioning: "positioning" }, host: { properties: { "style.margin-left.px": "this.marginLeft", "style.margin-right.px": "this.marginRight", "style.margin-top.px": "this.marginTop", "style.margin-bottom.px": "this.marginBottom", "style.width.px": "this.width", "style.height.px": "this.height", "style.left.px": "this.left", "style.top.px": "this.top", "class.d-block": "this.classes", "class.border": "this.classes", "class": "this.hostClass" } }, providers: [
|
|
185
260
|
{ provide: RESIZABLE, useExisting: forwardRef(() => BsResizableComponent) }
|
|
186
|
-
], ngImport: i0, template: "
|
|
261
|
+
], ngImport: i0, template: "<div [class]=\"wrapperPosition$ | async\">\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n</div>", styles: [".glyph{position:absolute;width:8px;height:8px;transition:background-color .2s ease-in-out;border-radius:4px}.glyph.top{top:-4px}.glyph.start{left:-4px}.glyph.bottom{bottom:-4px}.glyph.end{right:-4px}.glyph.start:not(.top):not(.bottom),.glyph.end:not(.top):not(.bottom){top:4px;height:calc(100% - 8px)}.glyph.top:not(.start):not(.end),.glyph.bottom:not(.start):not(.end){left:4px;width:calc(100% - 8px)}.glyph:hover,.glyph.active{background-color:#1389fd}:host{min-width:2rem;min-height:2rem}\n"], dependencies: [{ kind: "directive", type: BsResizeGlyphDirective, selector: "[bsResizeGlyph]", inputs: ["bsResizeGlyph"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
187
262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsResizableComponent, decorators: [{
|
|
188
263
|
type: Component,
|
|
189
264
|
args: [{ selector: 'bs-resizable', providers: [
|
|
190
265
|
{ provide: RESIZABLE, useExisting: forwardRef(() => BsResizableComponent) }
|
|
191
|
-
], template: "
|
|
192
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: {
|
|
266
|
+
], template: "<div [class]=\"wrapperPosition$ | async\">\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n</div>", styles: [".glyph{position:absolute;width:8px;height:8px;transition:background-color .2s ease-in-out;border-radius:4px}.glyph.top{top:-4px}.glyph.start{left:-4px}.glyph.bottom{bottom:-4px}.glyph.end{right:-4px}.glyph.start:not(.top):not(.bottom),.glyph.end:not(.top):not(.bottom){top:4px;height:calc(100% - 8px)}.glyph.top:not(.start):not(.end),.glyph.bottom:not(.start):not(.end){left:4px;width:calc(100% - 8px)}.glyph:hover,.glyph.active{background-color:#1389fd}:host{min-width:2rem;min-height:2rem}\n"] }]
|
|
267
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { positioning: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], marginLeft: [{
|
|
193
270
|
type: HostBinding,
|
|
194
271
|
args: ['style.margin-left.px']
|
|
195
272
|
}], marginRight: [{
|
|
@@ -201,18 +278,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
|
|
|
201
278
|
}], marginBottom: [{
|
|
202
279
|
type: HostBinding,
|
|
203
280
|
args: ['style.margin-bottom.px']
|
|
281
|
+
}], width: [{
|
|
282
|
+
type: HostBinding,
|
|
283
|
+
args: ['style.width.px']
|
|
204
284
|
}], height: [{
|
|
205
285
|
type: HostBinding,
|
|
206
286
|
args: ['style.height.px']
|
|
287
|
+
}], left: [{
|
|
288
|
+
type: HostBinding,
|
|
289
|
+
args: ['style.left.px']
|
|
290
|
+
}], top: [{
|
|
291
|
+
type: HostBinding,
|
|
292
|
+
args: ['style.top.px']
|
|
207
293
|
}], classes: [{
|
|
208
294
|
type: HostBinding,
|
|
209
295
|
args: ['class.d-block']
|
|
210
296
|
}, {
|
|
211
297
|
type: HostBinding,
|
|
212
298
|
args: ['class.border']
|
|
213
|
-
}, {
|
|
299
|
+
}], hostClass: [{
|
|
214
300
|
type: HostBinding,
|
|
215
|
-
args: ['class
|
|
301
|
+
args: ['class']
|
|
216
302
|
}] } });
|
|
217
303
|
|
|
218
304
|
class BsResizableModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-resizable.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/resizable/src/providers/resizable.provider.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resize-glyph/resize-glyph.directive.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resizable/resizable.component.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resizable/resizable.component.html","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resizable.module.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/mintplayer-ng-bootstrap-resizable.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport type { BsResizableComponent } from \"../resizable/resizable.component\";\n\nexport const RESIZABLE = new InjectionToken<BsResizableComponent>('Resizable');","import { Directive, HostBinding, HostListener, Inject, Input, forwardRef, Optional } from '@angular/core';\nimport { Position } from '@mintplayer/ng-bootstrap';\nimport type { BsResizableComponent } from '../resizable/resizable.component';\nimport { ResizeAction } from '../interfaces/resize-action';\nimport { PointerData } from '../interfaces/pointer-data';\nimport { RESIZABLE } from '../providers/resizable.provider';\n\n@Directive({\n selector: '[bsResizeGlyph]'\n})\nexport class BsResizeGlyphDirective {\n\n resizable: BsResizableComponent\n constructor(@Inject(RESIZABLE) resizable: any) {\n this.resizable = resizable;\n }\n\n @HostBinding('class') positions = '';\n @HostBinding('class.glyph') glyphClass = true;\n @HostBinding('class.active') activeClass = false;\n\n @Input() set bsResizeGlyph(value: Position[]) {\n this.positions = value.join(' ');\n }\n\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.onPointerDown()\n }\n\n @HostListener('touchstart', ['$event']) onTouchStart(ev: TouchEvent) {\n ev.preventDefault();\n this.onPointerDown();\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n this.onPointerMove({ clientX: ev.clientX, clientY: ev.clientY, preventDefault: () => ev.preventDefault() });\n }\n\n @HostListener('touchmove', ['$event']) onTouchMove(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n this.onPointerMove({ clientX: ev.touches[0].clientX, clientY: ev.touches[0].clientY, preventDefault: () => ev.preventDefault() });\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.onPointerUp();\n }\n\n @HostListener('touchend', ['$event']) onTouchEnd(ev: Event) {\n this.onPointerUp();\n }\n\n onPointerDown() {\n let action: ResizeAction = {};\n const rect = this.resizable.element.nativeElement.getBoundingClientRect();\n const styles = window.getComputedStyle(this.resizable.element.nativeElement);\n\n const marginLeft = parseFloat(styles.marginLeft.slice(0, -2));\n const marginRight = parseFloat(styles.marginRight.slice(0, -2));\n const marginTop = parseFloat(styles.marginTop.slice(0, -2));\n const marginBottom = parseFloat(styles.marginBottom.slice(0, -2));\n\n if (this.positions?.includes('start')) {\n action = {\n ...action,\n end: {\n edge: rect.right,\n size: rect.width,\n margin: marginRight,\n dragMargin: marginLeft\n },\n };\n }\n if (this.positions?.includes('end')) {\n action = {\n ...action,\n start: {\n edge: rect.left,\n size: rect.width,\n margin: marginLeft,\n dragMargin: marginRight\n },\n };\n }\n if (this.positions?.includes('top')) {\n action = {\n ...action,\n bottom: {\n edge: rect.bottom,\n size: rect.height,\n margin: marginBottom,\n dragMargin: marginTop\n },\n };\n }\n if (this.positions?.includes('bottom')) {\n action = {\n ...action,\n top: {\n edge: rect.top,\n size: rect.height,\n margin: marginTop,\n dragMargin: marginBottom\n },\n };\n }\n\n this.resizable.resizeAction = action;\n this.activeClass = true;\n console.log('resize', action);\n }\n\n private isBusy = false;\n onPointerMove(ev: PointerData) {\n if (this.resizable.resizeAction && !this.isBusy) {\n ev.preventDefault();\n this.isBusy = true;\n const rct = this.resizable.element.nativeElement.getBoundingClientRect();\n // console.log('position', ev);\n if (this.resizable.resizeAction.start && this.positions?.includes('end')) {\n // Right glyph\n const initalMargin = this.resizable.marginRight ?? 0;\n const x = (ev.clientX < rct.left + 10) ? rct.left + 10 : ev.clientX;\n this.resizable.marginRight = initalMargin - (x - rct.right);\n } else if (this.resizable.resizeAction.end && this.positions?.includes('start')) {\n // Left glyph\n const initalMargin = this.resizable.marginLeft ?? 0;\n const x = (ev.clientX > rct.right - 10) ? rct.right - 10 : ev.clientX;\n this.resizable.marginLeft = initalMargin + x - rct.left;\n }\n\n if (this.resizable.resizeAction.top && this.positions?.includes('bottom')) {\n // Bottom glyph\n const initalMargin = this.resizable.marginBottom ?? 0;\n const y = (ev.clientY < rct.top + 10) ? rct.top + 10 : ev.clientY;\n this.resizable.height = y - rct.top;\n this.resizable.marginBottom = initalMargin - (y - rct.bottom);\n } else if (this.resizable.resizeAction.bottom && this.positions?.includes('top')) {\n // Top glyph\n const initalMargin = this.resizable.marginTop ?? 0;\n const y = (ev.clientY > rct.bottom - 10) ? rct.bottom - 10 : ev.clientY;\n this.resizable.height = rct.bottom - y;\n this.resizable.marginTop = initalMargin + y - rct.top;\n }\n this.isBusy = false;\n }\n }\n \n onPointerUp() {\n this.resizable.resizeAction = undefined;\n this.activeClass = false;\n }\n}\n","import { Component, Directive, ElementRef, HostBinding, forwardRef } from '@angular/core';\nimport { ResizeAction } from '../interfaces/resize-action';\nimport { RESIZABLE } from '../providers/resizable.provider';\n\n@Component({\n selector: 'bs-resizable',\n templateUrl: './resizable.component.html',\n styleUrls: ['./resizable.component.scss'],\n providers: [\n { provide: RESIZABLE, useExisting: forwardRef(() => BsResizableComponent) }\n ]\n})\nexport class BsResizableComponent {\n constructor(element: ElementRef<HTMLElement>) {\n this.element = element;\n }\n\n resizeAction?: ResizeAction;\n element: ElementRef<HTMLElement>;\n \n @HostBinding('style.margin-left.px') marginLeft?: number;\n @HostBinding('style.margin-right.px') marginRight?: number;\n @HostBinding('style.margin-top.px') marginTop?: number;\n @HostBinding('style.margin-bottom.px') marginBottom?: number;\n @HostBinding('style.height.px') height?: number;\n\n @HostBinding('class.d-block')\n @HostBinding('class.border')\n @HostBinding('class.position-relative')\n classes = true;\n}\n","<!-- <div class=\"border position-relative\"> -->\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n<!-- </div> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsResizableComponent } from './resizable/resizable.component';\nimport { BsResizeGlyphDirective } from './resize-glyph/resize-glyph.directive';\n\n@NgModule({\n declarations: [\n BsResizableComponent,\n BsResizeGlyphDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsResizableComponent,\n BsResizeGlyphDirective\n ]\n})\nexport class BsResizableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsResizeGlyphDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-resizable.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/resizable/src/providers/resizable.provider.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resize-glyph/resize-glyph.directive.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resizable/resizable.component.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resizable/resizable.component.html","../../../../libs/mintplayer-ng-bootstrap/resizable/src/resizable.module.ts","../../../../libs/mintplayer-ng-bootstrap/resizable/mintplayer-ng-bootstrap-resizable.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport type { BsResizableComponent } from \"../resizable/resizable.component\";\n\nexport const RESIZABLE = new InjectionToken<BsResizableComponent>('Resizable');","import { Directive, HostBinding, HostListener, Inject, Input, forwardRef, Optional } from '@angular/core';\nimport { Position } from '@mintplayer/ng-bootstrap';\nimport type { BsResizableComponent } from '../resizable/resizable.component';\nimport { ResizeAction } from '../interfaces/resize-action';\nimport { PointerData } from '../interfaces/pointer-data';\nimport { RESIZABLE } from '../providers/resizable.provider';\n\n@Directive({\n selector: '[bsResizeGlyph]'\n})\nexport class BsResizeGlyphDirective {\n\n resizable: BsResizableComponent\n constructor(@Inject(RESIZABLE) resizable: any) {\n this.resizable = resizable;\n }\n\n @HostBinding('class') positions = '';\n @HostBinding('class.glyph') glyphClass = true;\n @HostBinding('class.active') activeClass = false;\n\n @Input() set bsResizeGlyph(value: Position[]) {\n this.positions = value.join(' ');\n }\n\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.onPointerDown()\n }\n\n @HostListener('touchstart', ['$event']) onTouchStart(ev: TouchEvent) {\n ev.preventDefault();\n this.onPointerDown();\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n this.onPointerMove({ clientX: ev.clientX, clientY: ev.clientY, preventDefault: () => ev.preventDefault() });\n }\n\n @HostListener('touchmove', ['$event']) onTouchMove(ev: TouchEvent) {\n if (ev.touches.length === 1) {\n this.onPointerMove({ clientX: ev.touches[0].clientX, clientY: ev.touches[0].clientY, preventDefault: () => ev.preventDefault() });\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.onPointerUp();\n }\n\n @HostListener('touchend', ['$event']) onTouchEnd(ev: Event) {\n this.onPointerUp();\n }\n\n onPointerDown() {\n let action: ResizeAction = {\n positioning: this.resizable.positioning\n };\n const rect = this.resizable.element.nativeElement.getBoundingClientRect();\n const styles = window.getComputedStyle(this.resizable.element.nativeElement);\n\n const marginLeft = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginLeft.slice(0, -2));\n const marginRight = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginRight.slice(0, -2));\n const marginTop = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginTop.slice(0, -2));\n const marginBottom = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginBottom.slice(0, -2));\n\n if (this.positions?.includes('start')) {\n action = {\n ...action,\n end: {\n edge: rect.right,\n size: rect.width,\n margin: marginRight,\n dragMargin: marginLeft\n },\n };\n }\n if (this.positions?.includes('end')) {\n action = {\n ...action,\n start: {\n edge: rect.left,\n size: rect.width,\n margin: marginLeft,\n dragMargin: marginRight\n },\n };\n }\n if (this.positions?.includes('top')) {\n action = {\n ...action,\n bottom: {\n edge: rect.bottom,\n size: rect.height,\n margin: marginBottom,\n dragMargin: marginTop\n },\n };\n }\n if (this.positions?.includes('bottom')) {\n action = {\n ...action,\n top: {\n edge: rect.top,\n size: rect.height,\n margin: marginTop,\n dragMargin: marginBottom\n },\n };\n }\n\n this.resizable.resizeAction = action;\n this.activeClass = true;\n }\n\n private isBusy = false;\n onPointerMove(ev: PointerData) {\n if (this.resizable.resizeAction && !this.isBusy) {\n ev.preventDefault();\n this.isBusy = true;\n const rct = this.resizable.element.nativeElement.getBoundingClientRect();\n if (this.resizable.resizeAction.start && this.positions?.includes('end')) {\n // Right glyph\n const x = (ev.clientX < rct.left + 10) ? rct.left + 10 : ev.clientX;\n switch (this.resizable.positioning) {\n case 'inline': {\n const initalMargin = this.resizable.marginRight ?? 0;\n this.resizable.marginRight = initalMargin - (x - rct.right);\n } break;\n case 'absolute': {\n this.resizable.width = x - rct.left;\n } break;\n }\n } else if (this.resizable.resizeAction.end && this.positions?.includes('start')) {\n // Left glyph\n const x = (ev.clientX > rct.right - 10) ? rct.right - 10 : ev.clientX;\n switch (this.resizable.positioning) {\n case 'inline': {\n const initalMargin = this.resizable.marginLeft ?? 0;\n this.resizable.marginLeft = initalMargin + x - rct.left;\n } break;\n case 'absolute': {\n this.resizable.left = x;\n this.resizable.width = this.resizable.resizeAction.end.edge - x;\n } break;\n }\n }\n\n if (this.resizable.resizeAction.top && this.positions?.includes('bottom')) {\n // Bottom glyph\n const y = (ev.clientY < rct.top + 10) ? rct.top + 10 : ev.clientY;\n switch (this.resizable.positioning) {\n case 'inline': {\n const initalMargin = this.resizable.marginBottom ?? 0;\n this.resizable.height = y - rct.top;\n this.resizable.marginBottom = initalMargin - (y - rct.bottom);\n } break;\n case 'absolute': {\n this.resizable.height = y - rct.top;\n } break;\n }\n } else if (this.resizable.resizeAction.bottom && this.positions?.includes('top')) {\n // Top glyph\n const y = (ev.clientY > rct.bottom - 10) ? rct.bottom - 10 : ev.clientY;\n switch (this.resizable.positioning) {\n case 'inline': {\n const initalMargin = this.resizable.marginTop ?? 0;\n this.resizable.height = rct.bottom - y;\n this.resizable.marginTop = initalMargin + y - rct.top;\n } break;\n case 'absolute': {\n this.resizable.top = y;\n this.resizable.height = this.resizable.resizeAction.bottom.edge - y;\n } break;\n }\n }\n this.isBusy = false;\n }\n }\n \n onPointerUp() {\n this.resizable.resizeAction = undefined;\n this.activeClass = false;\n }\n}\n","import { Component, Directive, ElementRef, HostBinding, Input, OnDestroy, forwardRef } from '@angular/core';\nimport { BehaviorSubject, Observable, map, Subject, takeUntil } from 'rxjs';\nimport { ResizeAction } from '../interfaces/resize-action';\nimport { RESIZABLE } from '../providers/resizable.provider';\nimport { ResizablePositioning } from '../types/positioning';\n\n@Component({\n selector: 'bs-resizable',\n templateUrl: './resizable.component.html',\n styleUrls: ['./resizable.component.scss'],\n providers: [\n { provide: RESIZABLE, useExisting: forwardRef(() => BsResizableComponent) }\n ]\n})\nexport class BsResizableComponent implements OnDestroy {\n constructor(element: ElementRef<HTMLElement>) {\n this.element = element;\n this.hostPosition$ = this.positioning$.pipe(map((positioning) => {\n switch (positioning) {\n case 'absolute': return 'position-absolute';\n case 'inline': return 'position-relative';\n }\n }));\n\n this.wrapperPosition$ = this.positioning$.pipe(map((positioning) => {\n switch (positioning) {\n case 'absolute': return ['position-relative', 'h-100']\n case 'inline': return [];\n }\n }));\n\n this.hostPosition$.pipe(takeUntil(this.destroyed$))\n .subscribe(hostPosition => this.hostClass = hostPosition);\n }\n\n resizeAction?: ResizeAction;\n element: ElementRef<HTMLElement>;\n hostPosition$: Observable<string>;\n wrapperPosition$: Observable<string[]>;\n\n //#region Positioning\n positioning$ = new BehaviorSubject<ResizablePositioning>('inline');\n public get positioning() {\n return this.positioning$.value;\n }\n @Input() public set positioning(value: ResizablePositioning) {\n this.positioning$.next(value);\n }\n //#endregion\n\n @HostBinding('style.margin-left.px') marginLeft?: number;\n @HostBinding('style.margin-right.px') marginRight?: number;\n @HostBinding('style.margin-top.px') marginTop?: number;\n @HostBinding('style.margin-bottom.px') marginBottom?: number;\n @HostBinding('style.width.px') width?: number;\n @HostBinding('style.height.px') height?: number;\n @HostBinding('style.left.px') left?: number;\n @HostBinding('style.top.px') top?: number;\n \n\n @HostBinding('class.d-block')\n @HostBinding('class.border')\n classes = true;\n\n @HostBinding('class')\n hostClass: string | null = null;\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n}\n","<div [class]=\"wrapperPosition$ | async\">\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsResizableComponent } from './resizable/resizable.component';\nimport { BsResizeGlyphDirective } from './resize-glyph/resize-glyph.directive';\n\n@NgModule({\n declarations: [\n BsResizableComponent,\n BsResizeGlyphDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsResizableComponent,\n BsResizeGlyphDirective\n ]\n})\nexport class BsResizableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsResizeGlyphDirective"],"mappings":"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"}
|
package/package.json
CHANGED
package/resizable/src/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { ResizablePositioning } from "../types/positioning";
|
|
1
2
|
export interface ResizeAction {
|
|
3
|
+
positioning: ResizablePositioning;
|
|
2
4
|
top?: ResizeActionSide;
|
|
3
5
|
start?: ResizeActionSide;
|
|
4
6
|
bottom?: ResizeActionSide;
|
|
@@ -8,9 +10,9 @@ export interface ResizeActionSide {
|
|
|
8
10
|
/** Fixed edge */
|
|
9
11
|
edge: number;
|
|
10
12
|
/** Initial margin at the fixed edge */
|
|
11
|
-
margin
|
|
13
|
+
margin?: number;
|
|
12
14
|
/** Initial margin at the edge that's being dragged */
|
|
13
|
-
dragMargin
|
|
15
|
+
dragMargin?: number;
|
|
14
16
|
/** Initial size */
|
|
15
17
|
size: number;
|
|
16
18
|
}
|
|
@@ -1,16 +1,29 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
1
|
+
import { ElementRef, OnDestroy } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
2
3
|
import { ResizeAction } from '../interfaces/resize-action';
|
|
4
|
+
import { ResizablePositioning } from '../types/positioning';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BsResizableComponent {
|
|
6
|
+
export declare class BsResizableComponent implements OnDestroy {
|
|
5
7
|
constructor(element: ElementRef<HTMLElement>);
|
|
6
8
|
resizeAction?: ResizeAction;
|
|
7
9
|
element: ElementRef<HTMLElement>;
|
|
10
|
+
hostPosition$: Observable<string>;
|
|
11
|
+
wrapperPosition$: Observable<string[]>;
|
|
12
|
+
positioning$: BehaviorSubject<ResizablePositioning>;
|
|
13
|
+
get positioning(): ResizablePositioning;
|
|
14
|
+
set positioning(value: ResizablePositioning);
|
|
8
15
|
marginLeft?: number;
|
|
9
16
|
marginRight?: number;
|
|
10
17
|
marginTop?: number;
|
|
11
18
|
marginBottom?: number;
|
|
19
|
+
width?: number;
|
|
12
20
|
height?: number;
|
|
21
|
+
left?: number;
|
|
22
|
+
top?: number;
|
|
13
23
|
classes: boolean;
|
|
24
|
+
hostClass: string | null;
|
|
25
|
+
destroyed$: Subject<unknown>;
|
|
26
|
+
ngOnDestroy(): void;
|
|
14
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsResizableComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BsResizableComponent, "bs-resizable", never, {}, {}, never, ["*"], false, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BsResizableComponent, "bs-resizable", never, { "positioning": "positioning"; }, {}, never, ["*"], false, never>;
|
|
16
29
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './positioning';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ResizablePositioning = 'absolute' | 'inline';
|
|
@@ -4,7 +4,7 @@ $utilities: map-merge(
|
|
|
4
4
|
(
|
|
5
5
|
"cursor": (
|
|
6
6
|
property: cursor,
|
|
7
|
-
values: auto default pointer wait text move help not-allowed n-resize e-resize s-resize w-resize ne-resize se-resize nw-resize sw-resize
|
|
7
|
+
values: auto default pointer wait text move help not-allowed n-resize e-resize s-resize w-resize ne-resize se-resize nw-resize sw-resize grab grabbing
|
|
8
8
|
),
|
|
9
9
|
)
|
|
10
10
|
);
|