рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдХреЗ рдмрд╛рдж рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?
рдореЗрд░рд╛ рдХрдВрдЯреЗрдирд░ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рд▓рд┐рдкрдЯреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реВрдЪреА рд╣реИред
рдХрднреА-рдХрднреА рдЬрдм рдЫрд╡рд┐ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рдЙрд╕ рдХреЛ рдЫреЛрдбрд╝рддреЗ рд╕рдордп рдХреНрд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ?
рдореИрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреНрд▓рд╛рд╕ рдиреЛ-рдХреНрд▓рд┐рдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдлрд┐рд░ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд▓рд┐рд╕реНрдЯрдирд░ рдЬреЛрдбрд╝рдирд╛, рдЬреЛ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рд╕ рдиреЛ-рдХреНрд▓рд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЙрд╕-рдЕрдк 100ms рдХреЗ рднреАрддрд░ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдкрд░ рдШрдЯрдирд╛ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХреЛ рд░реЛрдХ рджреЗрдВред рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, e.preventDefault() рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ (https://github.com/bfwg/angular2-drag-scroll/issues/16) рдЗрд╕ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдмреЗрд╣рддрд░ рдЙрдкрд╛рдп рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрд▓рд┐рдХ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд░реЛрдХрд╛ рдЬрд╛рдП рдЬрдм рдЗрд╕реЗ рдбреНрд░реИрдЧрд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рдХреЗ рд░реБрдХрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ ред
@Sprauch
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрдЧ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
рдирд╣реАрдВ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рдирдпрд╛ рд╣реВрдБред 18 рдорд╣реАрдиреЗ рд╕реЗ рднреА рдХрдо рд╕рдордп рдкрд╣рд▓реЗ рдХреЛрдгреАрдп рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ рдХрд▓ рдЧрд┐рдЯрд╣рдм рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛;)
рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рд╕рдордп рдорд┐рд▓рдиреЗ рдкрд░ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рд╣реЗ рджреЛрд╕реНрддреЛрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдлрд┐рдХреНрд╕/рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реИ?
рдЕрд░реЗ @stuart-clark-45
рдореИрдВ v2.0 рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рддрдХ рджреВрд░ рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореИрдВ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛ред
@bfwg рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕ рдмрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рдЫреЛрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЖрдк v2.0 рдХрдм рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@ рд╕реНрдЯреБрдЕрд░реНрдЯ-рдХреНрд▓рд╛рд░реНрдХ-45
рдареАрдХ рд╣реИ, 2.0 рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ #66 #68 рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдереЛрдбрд╝реА рдЬрд╛рдБрдЪ-рдкрдбрд╝рддрд╛рд▓ рдХреЗ рдмрд╛рдж, рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рдореИрдВ 2.0 рд░рд┐рд▓реАрдЬ рдХреЗ рдареАрдХ рдмрд╛рдж рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреАрдЖрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рд╡рд┐рд▓рдВрдм рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
@bfwg рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪреАрдЬреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрдВ, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж: рдЕрдВрдЧреВрдареЗ:
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдЙрд╕-рдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдХреЛрдгреАрдп рдРрдк рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╣ рдбреНрд░реИрдЧрд╕реНрдХреНрд░реЙрд▓ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдбреЗрдореЛ рдкреЗрдЬ рдкрд░ рдЧрдпрд╛ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдЯреЗрдХреНрд╕реНрдЯ-рд╕рд┐рд▓реЗрдХреНрд╢рди рднреА рдЙрд╕ рдкреЗрдЬ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдкреГрд╖реНрда рдкрд░ рдХрд╣реАрдВ рднреА, рдЕрднреА рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рдкрд╛рда рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрд╕ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛...
рдХреНрдпрд╛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдкрд╣реБрдВрдЪ рд▓реЗрдлреНрдЯрдмрд╛рдЙрдВрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд┐рдХ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЕрдкрдиреЗ рдбреНрд░реИрдЧрд╕реНрдХреНрд░реЙрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдкрд╣реБрдВрдЪреЗрдВ рд▓реЗрдлреНрдЯрдмрд╛рдЙрдВрдб)
<div dragScroll [scrollbar-hidden]="true" (reachesLeftBound)="leftBoundStat($event)">
рдЕрдкрдиреЗ div рдЖрджрд┐ рдореЗрдВ рдорд╛рдЙрд╕ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВред
<div (mousedown)="down()" (click)="fire()">
рдЕрдкрдиреЗ рдХреЙрдореНрдкреЛрдиреЗрдиреНрдЯ.ts рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ
click = false;
leftBoundStat(event: any): void {
if (this.click) {
this.click = false;
}
}
down() {
console.log('Mouse down');
window.setTimeout(this.startCheck(), 1000);
}
fire() {
if (this.click) {
console.log('Fire the action');
}
}
startCheck() {
this.click = true;
}
рдпрд╣ рдХреНрд▓рд┐рдХ рдХреЛ рд░реЛрдХреЗрдЧрд╛ рдпрджрд┐ рдЗрд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛рдирд╛ рдерд╛ред
рд╡реИрд╕реЗ, рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░-рдЫрд┐рдкрд╛ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ :)
рд╣рд╛рдп @STIKO , рдореБрдЭреЗ рдПрдХ рдкреНрд▓рдВрдХрд░ рд▓рд┐рдВрдХ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдореИрдВ рдХрд░реАрдм рд╕реЗ рджреЗрдЦ рд╕рдХреВрдВ?
рдореИрдВ рдЗрд╕реЗ рдкреНрд▓рдВрдХрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рдореИрдВрдиреЗ рдЗрд╕реЗ app.module.ts . рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рд╣реИ
import {DragScrollModule} from 'ngx-drag-scroll';
рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ @NgModule
рдЖрдпрд╛рдд рдореЗрдВ рдЬреЛрдбрд╝рд╛
imports: [DragScrollModule];
рдореИрдВ рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдКрдкрд░ рд╕рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреНрд░реИрдЧ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЕрдм рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ
export class Example implements OnInit {
@Input() 'scrollbar-hidden': boolean;
}
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ @Input()
рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдВрдд рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ
<div dragScroll scrollbar-hidden="true"
drag-scroll="true"
drag-scroll-y-disabled="true"
snap-disabled="true">
<div style="display: inline">
<img src='http://via.placeholder.com/310x471'/>
</div>
<div style="display: inline">
<img src='http://via.placeholder.com/310x471'/>
</div>
<div style="display: inline">
<img src='http://via.placeholder.com/310x471'/>
</div>
</div>
</div>
рдЬрдм рдореИрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рдЕрднреА рднреА рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдЕрдХреНрд╖рдо рдХреЛ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реЛ
рдХреНрдпрд╛ рдЖрдк рдЖрдИрдПрдордЬреА рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рд╡ рд░реИрдкрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
рдиреАрдЪреЗ рдЬреИрд╕рд╛ рдХреБрдЫред рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред
@Component({
selector: 'my-app',
styles: [`
.image-cell: {
width: 310px;
height: 470px;
}
`]
template: `
<div>
<h2>Hello {{name}}</h2>
<div dragScroll
drag-scroll-y-disabled="true"
scrollbar-hidden="true"
snap-disabled="true" style="height: 470px; width: 310px;">
<img class="image-cell" src='http://via.placeholder.com/310x471'/>
<img class="image-cell" src='http://via.placeholder.com/310x471'/>
<img class="image-cell" src='http://via.placeholder.com/310x471'/>
</div>
</div>
`,
})