@colijnit/corecomponents_v12 300.1.0 → 300.1.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/index.d.ts CHANGED
@@ -192,6 +192,7 @@ declare enum CoreComponentsIcon {
192
192
  Linechart = "linechart",
193
193
  LinkedProducts = "linked_products",
194
194
  LinkCircle = "link_circle",
195
+ ListRegular = "list_regular",
195
196
  ListView = "list_view",
196
197
  Location = "location",
197
198
  Lock = "lock",
@@ -532,7 +533,6 @@ declare abstract class BaseInputComponent<T> implements OnInit, OnDestroy, After
532
533
  get canSaveOrCancel(): boolean;
533
534
  objectConfigName: string;
534
535
  validationError: string;
535
- shouldCommit: boolean;
536
536
  protected _markedAsUserTouched: boolean;
537
537
  protected _destroyed: boolean;
538
538
  protected _hasOnPushCdStrategy: boolean;
@@ -558,6 +558,7 @@ declare abstract class BaseInputComponent<T> implements OnInit, OnDestroy, After
558
558
  private _formReadonlyChangeSub;
559
559
  private _clearMarkedAsUserTouchedSub;
560
560
  private _canSaveOrCancel;
561
+ private _committing;
561
562
  private _commitButtonsComponentRef;
562
563
  private _validationComponentRef;
563
564
  constructor(changeDetector: ChangeDetectorRef, overlayService: OverlayService, formUserChangeListener?: FormInputUserModelChangeListenerService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
@@ -598,7 +599,7 @@ declare abstract class BaseInputComponent<T> implements OnInit, OnDestroy, After
598
599
  private _controlExists;
599
600
  private _controlIsValid;
600
601
  private _setNativeDisabled;
601
- private _setNativeMaxLength;
602
+ protected _setNativeMaxLength(maxlength: number): void;
602
603
  protected _setNativeReadOnly(readonly: boolean): void;
603
604
  private _setNativeRequired;
604
605
  private _subscribeToSpeechInput;
@@ -1421,10 +1422,30 @@ declare enum KeyboardCode {
1421
1422
  Tilde = 192
1422
1423
  }
1423
1424
 
1425
+ /**
1426
+ * Resolves the locale-specific decimal separator (e.g. ',' for nl-NL) from the app-wide LOCALE_ID and
1427
+ * converts between a numeric model value and its user-facing display string. Injected app-wide, so no
1428
+ * component has to be given a locale explicitly.
1429
+ *
1430
+ * The model always stays a real number (dot-based / JSON-safe); the separator only affects the display
1431
+ * string shown in the input, never the stored value.
1432
+ */
1433
+ declare class NumberLocaleService {
1434
+ private readonly _decimalSeparator;
1435
+ constructor(localeId: string);
1436
+ get decimalSeparator(): string;
1437
+ parse(text: string | number | null | undefined): number;
1438
+ format(value: number | null | undefined): string;
1439
+ insertDecimalSeparator(input: HTMLInputElement | HTMLTextAreaElement): void;
1440
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberLocaleService, never>;
1441
+ static ɵprov: i0.ɵɵInjectableDeclaration<NumberLocaleService>;
1442
+ }
1443
+
1424
1444
  declare class InputTextComponent extends BaseInputComponent<any> implements AfterViewInit {
1425
1445
  formComponent: FormComponent;
1426
1446
  protected changeDetector: ChangeDetectorRef;
1427
1447
  protected overlayService: OverlayService;
1448
+ private _numberLocale;
1428
1449
  protected formUserChangeListener?: FormInputUserModelChangeListenerService;
1429
1450
  protected ngZoneWrapper?: NgZoneWrapperService;
1430
1451
  elementRef?: ElementRef;
@@ -1467,13 +1488,18 @@ declare class InputTextComponent extends BaseInputComponent<any> implements Afte
1467
1488
  handleDocumentPointerUp(event: PointerEvent): void;
1468
1489
  set model(value: any);
1469
1490
  get model(): any;
1491
+ protected modelSet(): void;
1492
+ handleInputModelChange(value: any): void;
1470
1493
  get pipedModel(): any;
1494
+ get displayValue(): string;
1471
1495
  isFocusedOnDate: boolean;
1472
1496
  weekInputBuffer: string;
1473
1497
  isWeekInputMode: boolean;
1474
1498
  private _isLeftIconMouseDown;
1475
1499
  private _isRightIconMouseDown;
1476
- constructor(formComponent: FormComponent, changeDetector: ChangeDetectorRef, overlayService: OverlayService, formUserChangeListener?: FormInputUserModelChangeListenerService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
1500
+ private _userTyping;
1501
+ private _displayValue;
1502
+ constructor(formComponent: FormComponent, changeDetector: ChangeDetectorRef, overlayService: OverlayService, _numberLocale: NumberLocaleService, formUserChangeListener?: FormInputUserModelChangeListenerService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
1477
1503
  ngAfterViewInit(): void;
1478
1504
  handleLeftIconClick(event: MouseEvent): void;
1479
1505
  handleLeftIconMouseDown(event: MouseEvent): void;
@@ -1486,11 +1512,12 @@ declare class InputTextComponent extends BaseInputComponent<any> implements Afte
1486
1512
  handleInputFocus(event: FocusEvent): void;
1487
1513
  handleBlur(event: FocusEvent): void;
1488
1514
  handleDoFocus(event: MouseEvent): void;
1515
+ protected _setNativeMaxLength(maxlength: number): void;
1489
1516
  clearInput(event: MouseEvent): void;
1490
1517
  handleKeyDownInput(event: KeyboardEvent): void;
1491
1518
  private convertWeekToDate;
1492
1519
  private formatDateLocal;
1493
- static ɵfac: i0.ɵɵFactoryDeclaration<InputTextComponent, [{ optional: true; }, null, null, null, null, null]>;
1520
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputTextComponent, [{ optional: true; }, null, null, null, null, null, null]>;
1494
1521
  static ɵcmp: i0.ɵɵComponentDeclaration<InputTextComponent, "co-input-text", never, { "useContent": { "alias": "useContent"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "align": { "alias": "align"; "required": false; }; "type": { "alias": "type"; "required": false; }; "formatPipe": { "alias": "formatPipe"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "excludePlusMinus": { "alias": "excludePlusMinus"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "keyDownWhiteList": { "alias": "keyDownWhiteList"; "required": false; }; "showPlaceholderOnFocus": { "alias": "showPlaceholderOnFocus"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "leftIconData": { "alias": "leftIconData"; "required": false; }; "rightIconData": { "alias": "rightIconData"; "required": false; }; "selectOnFocus": { "alias": "selectOnFocus"; "required": false; }; "emptyPlace": { "alias": "emptyPlace"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "noStyle": { "alias": "noStyle"; "required": false; }; "hideArrowButtons": { "alias": "hideArrowButtons"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, { "leftIconClick": "leftIconClick"; "leftIconMouseDown": "leftIconMouseDown"; "leftIconMouseUp": "leftIconMouseUp"; "rightIconClick": "rightIconClick"; "rightIconMouseDown": "rightIconMouseDown"; "rightIconMouseUp": "rightIconMouseUp"; "clearIconClick": "clearIconClick"; "isFocused": "isFocused"; }, never, ["*"], false, never>;
1495
1522
  }
1496
1523
 
@@ -1916,10 +1943,12 @@ declare class InputNumberPickerComponent extends BaseInputComponent<number> impl
1916
1943
  iconCacheService: IconCacheService;
1917
1944
  protected overlayService: OverlayService;
1918
1945
  private _ngZone;
1946
+ private _numberLocale;
1919
1947
  protected ngZoneWrapper?: NgZoneWrapperService;
1920
1948
  elementRef?: ElementRef;
1921
1949
  set model(model: number);
1922
1950
  get model(): number;
1951
+ get displayValue(): string;
1923
1952
  modelChangeOnEnter: boolean;
1924
1953
  showPermanentLabel: boolean;
1925
1954
  leftIconData: SafeHtml | undefined;
@@ -1932,6 +1961,7 @@ declare class InputNumberPickerComponent extends BaseInputComponent<number> impl
1932
1961
  buttonShowMode: InputNumberPickerButtonShowMode;
1933
1962
  noValidation: boolean;
1934
1963
  set decimals(decimals: number);
1964
+ get decimals(): number;
1935
1965
  readonly modelChange: EventEmitter<number>;
1936
1966
  readonly iconClick: EventEmitter<MouseEvent>;
1937
1967
  get showButtonsOnFocusOnly(): boolean;
@@ -1944,6 +1974,8 @@ declare class InputNumberPickerComponent extends BaseInputComponent<number> impl
1944
1974
  plusSelected: boolean;
1945
1975
  private _numberInputHasFocus;
1946
1976
  private _changeFromButton;
1977
+ private _userTyping;
1978
+ private _displayValue;
1947
1979
  private _numberLogicValueChangeSub;
1948
1980
  private readonly _delayBeforeStartAutoCountMs;
1949
1981
  private readonly _stepFactors;
@@ -1954,13 +1986,14 @@ declare class InputNumberPickerComponent extends BaseInputComponent<number> impl
1954
1986
  private _autoCountTimeout;
1955
1987
  private _stepIncrementTimeout;
1956
1988
  private _startAutocountTimeout;
1957
- constructor(formComponent: FormComponent, iconCacheService: IconCacheService, overlayService: OverlayService, _ngZone: NgZone, changeDetector: ChangeDetectorRef, formUserChangeListener: FormInputUserModelChangeListenerService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
1989
+ constructor(formComponent: FormComponent, iconCacheService: IconCacheService, overlayService: OverlayService, _ngZone: NgZone, changeDetector: ChangeDetectorRef, formUserChangeListener: FormInputUserModelChangeListenerService, _numberLocale: NumberLocaleService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
1958
1990
  ngOnInit(): void;
1959
1991
  ngOnDestroy(): void;
1960
1992
  doIncrementAuto(): void;
1961
1993
  handleInputKeyDown(event: KeyboardEvent): boolean;
1994
+ protected _setNativeMaxLength(): void;
1962
1995
  handleBlur(): void;
1963
- handleChangeModel(value: number): void;
1996
+ handleChangeModel(text: string): void;
1964
1997
  doDecrementAuto(): void;
1965
1998
  stopAutoCounting(): void;
1966
1999
  setValue(newValue: number, silent?: boolean): void;
@@ -1971,7 +2004,7 @@ declare class InputNumberPickerComponent extends BaseInputComponent<number> impl
1971
2004
  private _doIncreaseStepFactor;
1972
2005
  private _getNextStepFactorMouseDown;
1973
2006
  private _updateButtonsShowState;
1974
- static ɵfac: i0.ɵɵFactoryDeclaration<InputNumberPickerComponent, [{ optional: true; }, null, null, null, null, null, null, null]>;
2007
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputNumberPickerComponent, [{ optional: true; }, null, null, null, null, null, null, null, null]>;
1975
2008
  static ɵcmp: i0.ɵɵComponentDeclaration<InputNumberPickerComponent, "co-input-number-picker", never, { "model": { "alias": "model"; "required": false; }; "modelChangeOnEnter": { "alias": "modelChangeOnEnter"; "required": false; }; "showPermanentLabel": { "alias": "showPermanentLabel"; "required": false; }; "leftIconData": { "alias": "leftIconData"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "max": { "alias": "max"; "required": false; }; "ngModelOptions": { "alias": "ngModelOptions"; "required": false; }; "minusIcon": { "alias": "minusIcon"; "required": false; }; "plusIcon": { "alias": "plusIcon"; "required": false; }; "buttonShowMode": { "alias": "buttonShowMode"; "required": false; }; "noValidation": { "alias": "noValidation"; "required": false; }; "decimals": { "alias": "decimals"; "required": false; }; }, { "modelChange": "modelChange"; "iconClick": "iconClick"; }, never, never, false, never>;
1976
2009
  }
1977
2010
 
@@ -3713,8 +3746,11 @@ interface SchedulingObject {
3713
3746
  declare class HourSchedulingExpandableComponent implements OnInit {
3714
3747
  private cdRef;
3715
3748
  private eRef;
3749
+ iconCacheService: IconCacheService;
3750
+ readonly icons: typeof CoreComponentsIcon;
3716
3751
  hourLabels: string[];
3717
3752
  scheduledObjects: SchedulingObject[];
3753
+ selectedHour: string;
3718
3754
  private resizing;
3719
3755
  private resizeDirection;
3720
3756
  private initialY;
@@ -3739,6 +3775,7 @@ declare class HourSchedulingExpandableComponent implements OnInit {
3739
3775
  currentHour: string;
3740
3776
  data: string;
3741
3777
  }>;
3778
+ taskCreationEvent: EventEmitter<string>;
3742
3779
  moveBetweenCalendarsEvent: EventEmitter<{
3743
3780
  hour: string;
3744
3781
  data: SchedulingObject;
@@ -3752,7 +3789,7 @@ declare class HourSchedulingExpandableComponent implements OnInit {
3752
3789
  clickOut(event: {
3753
3790
  target: any;
3754
3791
  }): void;
3755
- constructor(cdRef: ChangeDetectorRef, eRef: ElementRef);
3792
+ constructor(cdRef: ChangeDetectorRef, eRef: ElementRef, iconCacheService: IconCacheService);
3756
3793
  ngOnInit(): void;
3757
3794
  private _findNextObject;
3758
3795
  private _findPreviousObject;
@@ -3774,8 +3811,10 @@ declare class HourSchedulingExpandableComponent implements OnInit {
3774
3811
  convertTZ(date: any, tzString: any): Date;
3775
3812
  convertDateToEuropean(date: Date): Date;
3776
3813
  handleDeselectAll(): void;
3814
+ selectHalfHourBlock(mouseEvent: MouseEvent, hour: string, first?: boolean): void;
3815
+ handleHourTaskCreate(mouseEvent: MouseEvent, hour: string, first?: boolean): void;
3777
3816
  static ɵfac: i0.ɵɵFactoryDeclaration<HourSchedulingExpandableComponent, never>;
3778
- static ɵcmp: i0.ɵɵComponentDeclaration<HourSchedulingExpandableComponent, "co-hour-scheduling-expandable", never, { "schedule": { "alias": "schedule"; "required": false; }; "startTimeProp": { "alias": "startTimeProp"; "required": false; }; "endTimeProp": { "alias": "endTimeProp"; "required": false; }; "objectsProp": { "alias": "objectsProp"; "required": false; }; "childProp": { "alias": "childProp"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "idProp": { "alias": "idProp"; "required": false; }; }, { "timeChangeEvent": "timeChangeEvent"; "newObjectPlanEvent": "newObjectPlanEvent"; "moveBetweenCalendarsEvent": "moveBetweenCalendarsEvent"; }, never, ["*"], false, never>;
3817
+ static ɵcmp: i0.ɵɵComponentDeclaration<HourSchedulingExpandableComponent, "co-hour-scheduling-expandable", never, { "schedule": { "alias": "schedule"; "required": false; }; "startTimeProp": { "alias": "startTimeProp"; "required": false; }; "endTimeProp": { "alias": "endTimeProp"; "required": false; }; "objectsProp": { "alias": "objectsProp"; "required": false; }; "childProp": { "alias": "childProp"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "idProp": { "alias": "idProp"; "required": false; }; }, { "timeChangeEvent": "timeChangeEvent"; "newObjectPlanEvent": "newObjectPlanEvent"; "taskCreationEvent": "taskCreationEvent"; "moveBetweenCalendarsEvent": "moveBetweenCalendarsEvent"; }, never, ["*"], false, never>;
3779
3818
  }
3780
3819
 
3781
3820
  declare class HourSchedulingExpandableTemplateComponent {
@@ -3810,7 +3849,7 @@ declare class HourSchedulingExpandableTemplateModule {
3810
3849
 
3811
3850
  declare class HourSchedulingExpandableComponentModule {
3812
3851
  static ɵfac: i0.ɵɵFactoryDeclaration<HourSchedulingExpandableComponentModule, never>;
3813
- static ɵmod: i0.ɵɵNgModuleDeclaration<HourSchedulingExpandableComponentModule, [typeof HourSchedulingExpandableComponent], [typeof i2.CommonModule, typeof HourSchedulingComponentModule, typeof HourSchedulingExpandableTemplateModule], [typeof HourSchedulingExpandableComponent]>;
3852
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HourSchedulingExpandableComponentModule, [typeof HourSchedulingExpandableComponent], [typeof i2.CommonModule, typeof HourSchedulingComponentModule, typeof HourSchedulingExpandableTemplateModule, typeof IconModule], [typeof HourSchedulingExpandableComponent]>;
3814
3853
  static ɵinj: i0.ɵɵInjectorDeclaration<HourSchedulingExpandableComponentModule>;
3815
3854
  }
3816
3855
 
@@ -23,6 +23,7 @@
23
23
  opacity: 1;
24
24
  cursor: pointer;
25
25
  &.disabled {
26
+ pointer-events: none;
26
27
  cursor: default;
27
28
  opacity: 0.5;
28
29
  }
@@ -9,6 +9,7 @@
9
9
  cursor: pointer;
10
10
 
11
11
  &.disabled {
12
+ pointer-events: none;
12
13
  opacity: 0.6;
13
14
  cursor: default;
14
15
  background: #e3e3e3;
@@ -75,6 +75,31 @@
75
75
  display: flex;
76
76
  width: 100%;
77
77
  flex-direction: column;
78
+
79
+ .first-half-hour, .second-half-hour {
80
+ background: none;
81
+ &.selected {
82
+ background-color: rgba(26, 115, 232, 0.2);
83
+ transition: background-color 0.1s ease;
84
+ }
85
+ .toggle-icon {
86
+ height: 20px;
87
+ width: 20px;
88
+ opacity: 0;
89
+ position: absolute;
90
+ display: flex;
91
+ align-items: center;
92
+ right: 8px;
93
+
94
+ left: auto;
95
+
96
+ &.visible {
97
+ opacity: 1;
98
+ }
99
+ }
100
+ }
101
+
102
+
78
103
  .object-half {
79
104
  padding: 5px;
80
105
  min-height: 30px;
@@ -70,6 +70,14 @@
70
70
  width: 100%;
71
71
  border: none;
72
72
  text-align: $cc-co-input-number-picker-text-align;
73
+ // the component provides its own +/- buttons, so hide the native number spinners
74
+ -moz-appearance: textfield;
75
+ appearance: textfield;
76
+ &::-webkit-outer-spin-button,
77
+ &::-webkit-inner-spin-button {
78
+ -webkit-appearance: none;
79
+ margin: 0;
80
+ }
73
81
  &:focus {
74
82
  outline: none;
75
83
  }
@@ -194,6 +194,7 @@
194
194
  border-color: $cc-simple-grid-row-border-color;
195
195
 
196
196
  &.disabled {
197
+ pointer-events: none;
197
198
  opacity: $cc-simple-grid-row-disabled-opacity;
198
199
  background: $cc-simple-grid-row-disabled-background-color;
199
200
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colijnit/corecomponents_v12",
3
- "version": "300.1.0",
3
+ "version": "300.1.2",
4
4
  "description": "Colijn IT core components for Angular 12",
5
5
  "private": false,
6
6
  "peerDependencies": {