Skip to content

Commit 7881432

Browse files
committed
Merge remote-tracking branch 'origin/development' into development
# Conflicts: # package-lock.json # package.json # projects/tubular-ng-widgets/package.json
2 parents 9647a8a + 3193f53 commit 7881432

4 files changed

Lines changed: 36 additions & 4 deletions

File tree

projects/ng-widgets-showcase/src/main.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import { enableProdMode } from '@angular/core';
22
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
33

4+
import { initTimezoneLarge } from '@tubular/time';
5+
46
import { AppModule } from './app/app.module';
57
import { environment } from './environments/environment';
68

9+
initTimezoneLarge();
10+
711
if (environment.production) {
812
enableProdMode();
913
}

projects/tubular-ng-widgets/src/lib/digit-sequence-editor/digit-sequence-editor.directive.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,16 @@
5858
[style.bottom]="item.spinner || item.divider ? '0' : baselineShift">&nbsp;</div>
5959
<span *ngIf="swipeable(item, 1)"
6060
class="tbw-dse-draggable-extra"
61-
[style.top]="'calc(' + (-digitHeight + smoothedDeltaY) + 'px + ' + (item.deltaY || 0) + 'em)'"
61+
[ngStyle]="getStyleForItem(item, -digitHeight)"
6262
>{{(item.alt_swipeAbove || item.swipeAbove) ?? '\u00A0'}}</span>
6363
<span *ngIf="swipeable(item, -1)"
6464
class="tbw-dse-draggable-extra"
65-
[style.top]="'calc(' + (digitHeight + smoothedDeltaY) + 'px + ' + (item.deltaY || 0) + 'em)'"
65+
[ngStyle]="getStyleForItem(item, digitHeight)"
6666
>{{(item.alt_swipeBelow || item.swipeBelow) ?? '\u00A0'}}</span>
6767
<span *ngIf="!item.spinner && !item.divider; else dividerOrSpinner"
6868
class="tbw-dse-draggable dse-item-{{item.index}}"
6969
[class.tbw-dse-sized]="!!item.sizer"
70-
[style.top]="'calc(' + (swipeable(item, 0) ? smoothedDeltaY : 0) + 'px + ' + (item.deltaY || 0) + 'em)'"
70+
[ngStyle]="getStyleForItem(item, 0)"
7171
>{{filterDisplayChars(item.alt_value || item.value)}}</span>
7272
<span *ngIf="item.sizer"
7373
class="tbw-dse-sizer"

projects/tubular-ng-widgets/src/lib/digit-sequence-editor/digit-sequence-editor.directive.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export interface SequenceItemInfo {
2525
hidden?: boolean;
2626
index?: number;
2727
indicator?: boolean;
28+
maxChars?: number;
2829
monospaced?: boolean;
2930
name?: string;
3031
opacity?: number | string;
@@ -713,6 +714,33 @@ export abstract class DigitSequenceEditorDirective<T> implements
713714
return null;
714715
}
715716

717+
getStyleForItem(item: SequenceItemInfo, heightOffset: number): any {
718+
const itemStyle: any = {
719+
top: 'calc(' + (this.swipeable(item, 0) ? (this.smoothedDeltaY + heightOffset) : 0) +
720+
'px + ' + (item.deltaY || 0) + 'em)'
721+
};
722+
723+
if (item.maxChars) {
724+
let value: string;
725+
726+
if (heightOffset < 0)
727+
value = item.alt_swipeAbove || item.swipeAbove;
728+
else if (heightOffset > 0)
729+
value = item.alt_swipeBelow || item.swipeBelow;
730+
else
731+
value = this.filterDisplayChars(item.alt_value || item.value).toString();
732+
733+
const ratio = item.maxChars / value.toString().length;
734+
735+
if (ratio < 1) {
736+
itemStyle.transform = `scale(${floor(ratio * 100) / 100}, 1)`;
737+
itemStyle.width = '1px';
738+
}
739+
}
740+
741+
return itemStyle;
742+
}
743+
716744
getStaticBackgroundColor(): string {
717745
if (this._disabled)
718746
return DISABLED_BACKGROUND;

projects/tubular-ng-widgets/src/lib/time-editor/time-editor.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,7 @@ export class TimeEditorComponent extends DigitSequenceEditorDirective<number> im
868868
break;
869869
case 'off':
870870
this.offsetIndex = i;
871-
this.items.push({ value: '+00:00', format: 'Z', indicator: true, monospaced: true });
871+
this.items.push({ value: '+00:00', format: 'Z', indicator: true, monospaced: true, sizer: '+00:00', maxChars: 6 });
872872
break;
873873
case 'dst':
874874
this.dstIndex = i;

0 commit comments

Comments
 (0)