@hxui/angular
Version:
An Angular library based on the [HXUI design system](https://hxui.io).
51 lines • 7.33 kB
JavaScript
import { Injectable } from '@angular/core';
import { isInteger } from '../utils/util';
import * as i0 from "@angular/core";
export function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {
return new NgbTimeStructAdapter();
}
/**
* An abstract service that does the conversion between the internal time-picker `HxaTimeStruct` model and
* any provided user time model `T`, ex. a string, a native date, etc.
*
* The adapter is used **only** for conversion when binding time-picker to a form control,
* ex. `[(ngModel)]="userTimeModel"`. Here `userTimeModel` can be of any type.
*
* The default time-picker implementation assumes we use `HxaTimeStruct` as a user model.
*
* See the [custom time adapter demo](#/components/time-picker/examples#adapter) for an example.
*
* @since 2.2.0
*/
export class HxaTimeAdapter {
}
HxaTimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HxaTimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
HxaTimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HxaTimeAdapter, providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HxaTimeAdapter, decorators: [{
type: Injectable,
args: [{ providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY }]
}] });
export class NgbTimeStructAdapter extends HxaTimeAdapter {
/**
* Converts a HxaTimeStruct value into HxaTimeStruct value
*/
fromModel(time) {
return (time && isInteger(time.hour) && isInteger(time.minute)) ?
{ hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null } :
null;
}
/**
* Converts a HxaTimeStruct value into HxaTimeStruct value
*/
toModel(time) {
return (time && isInteger(time.hour) && isInteger(time.minute)) ?
{ hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null } :
null;
}
}
NgbTimeStructAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgbTimeStructAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
NgbTimeStructAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgbTimeStructAdapter });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgbTimeStructAdapter, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHhhLXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h4LXVpL3NyYy9saWIvdGltZS1waWNrZXIvaHhhLXRpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRXhDLE1BQU0sVUFBVSxtQ0FBbUM7SUFDakQsT0FBTyxJQUFJLG9CQUFvQixFQUFFLENBQUM7QUFDcEMsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUVILE1BQU0sT0FBZ0IsY0FBYzs7NEdBQWQsY0FBYztnSEFBZCxjQUFjLGNBRFgsTUFBTSxjQUFjLG1DQUFtQzs0RkFDMUQsY0FBYztrQkFEbkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLG1DQUFtQyxFQUFDOztBQWNqRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsY0FBNkI7SUFDckU7O09BRUc7SUFDSCxTQUFTLENBQUMsSUFBMEI7UUFDbEMsT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLElBQUksRUFBQyxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLElBQTBCO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ2xHLElBQUksQ0FBQztJQUNYLENBQUM7O2tIQWpCVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIeGFUaW1lU3RydWN0fSBmcm9tICcuL2h4YS10aW1lLXN0cnVjdCc7XHJcbmltcG9ydCB7aXNJbnRlZ2VyfSBmcm9tICcuLi91dGlscy91dGlsJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBOR0JfREFURVBJQ0tFUl9USU1FX0FEQVBURVJfRkFDVE9SWSgpIHtcclxuICByZXR1cm4gbmV3IE5nYlRpbWVTdHJ1Y3RBZGFwdGVyKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBbiBhYnN0cmFjdCBzZXJ2aWNlIHRoYXQgZG9lcyB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIHRoZSBpbnRlcm5hbCB0aW1lLXBpY2tlciBgSHhhVGltZVN0cnVjdGAgbW9kZWwgYW5kXHJcbiAqIGFueSBwcm92aWRlZCB1c2VyIHRpbWUgbW9kZWwgYFRgLCBleC4gYSBzdHJpbmcsIGEgbmF0aXZlIGRhdGUsIGV0Yy5cclxuICpcclxuICogVGhlIGFkYXB0ZXIgaXMgdXNlZCAqKm9ubHkqKiBmb3IgY29udmVyc2lvbiB3aGVuIGJpbmRpbmcgdGltZS1waWNrZXIgdG8gYSBmb3JtIGNvbnRyb2wsXHJcbiAqIGV4LiBgWyhuZ01vZGVsKV09XCJ1c2VyVGltZU1vZGVsXCJgLiBIZXJlIGB1c2VyVGltZU1vZGVsYCBjYW4gYmUgb2YgYW55IHR5cGUuXHJcbiAqXHJcbiAqIFRoZSBkZWZhdWx0IHRpbWUtcGlja2VyIGltcGxlbWVudGF0aW9uIGFzc3VtZXMgd2UgdXNlIGBIeGFUaW1lU3RydWN0YCBhcyBhIHVzZXIgbW9kZWwuXHJcbiAqXHJcbiAqIFNlZSB0aGUgW2N1c3RvbSB0aW1lIGFkYXB0ZXIgZGVtb10oIy9jb21wb25lbnRzL3RpbWUtcGlja2VyL2V4YW1wbGVzI2FkYXB0ZXIpIGZvciBhbiBleGFtcGxlLlxyXG4gKlxyXG4gKiBAc2luY2UgMi4yLjBcclxuICovXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCcsIHVzZUZhY3Rvcnk6IE5HQl9EQVRFUElDS0VSX1RJTUVfQURBUFRFUl9GQUNUT1JZfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEh4YVRpbWVBZGFwdGVyPFQ+IHtcclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBhIHVzZXItbW9kZWwgdGltZSBvZiB0eXBlIGBUYCB0byBhbiBgSHhhVGltZVN0cnVjdGAgZm9yIGludGVybmFsIHVzZS5cclxuICAgKi9cclxuICBhYnN0cmFjdCBmcm9tTW9kZWwodmFsdWU6IFQgfCBudWxsKTogSHhhVGltZVN0cnVjdCB8IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIGFuIGludGVybmFsIGBIeGFUaW1lU3RydWN0YCB0aW1lIHRvIGEgdXNlci1tb2RlbCB0aW1lIG9mIHR5cGUgYFRgLlxyXG4gICAqL1xyXG4gIGFic3RyYWN0IHRvTW9kZWwodGltZTogSHhhVGltZVN0cnVjdCB8IG51bGwpOiBUIHwgbnVsbDtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmdiVGltZVN0cnVjdEFkYXB0ZXIgZXh0ZW5kcyBIeGFUaW1lQWRhcHRlcjxIeGFUaW1lU3RydWN0PiB7XHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgYSBIeGFUaW1lU3RydWN0IHZhbHVlIGludG8gSHhhVGltZVN0cnVjdCB2YWx1ZVxyXG4gICAqL1xyXG4gIGZyb21Nb2RlbCh0aW1lOiBIeGFUaW1lU3RydWN0IHwgbnVsbCk6IEh4YVRpbWVTdHJ1Y3QgfCBudWxsIHtcclxuICAgIHJldHVybiAodGltZSAmJiBpc0ludGVnZXIodGltZS5ob3VyKSAmJiBpc0ludGVnZXIodGltZS5taW51dGUpKSA/XHJcbiAgICAgICAge2hvdXI6IHRpbWUuaG91ciwgbWludXRlOiB0aW1lLm1pbnV0ZSwgc2Vjb25kOiBpc0ludGVnZXIodGltZS5zZWNvbmQpID8gdGltZS5zZWNvbmQgOiA8YW55Pm51bGx9IDpcclxuICAgICAgICBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgYSBIeGFUaW1lU3RydWN0IHZhbHVlIGludG8gSHhhVGltZVN0cnVjdCB2YWx1ZVxyXG4gICAqL1xyXG4gIHRvTW9kZWwodGltZTogSHhhVGltZVN0cnVjdCB8IG51bGwpOiBIeGFUaW1lU3RydWN0IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gKHRpbWUgJiYgaXNJbnRlZ2VyKHRpbWUuaG91cikgJiYgaXNJbnRlZ2VyKHRpbWUubWludXRlKSkgP1xyXG4gICAgICAgIHtob3VyOiB0aW1lLmhvdXIsIG1pbnV0ZTogdGltZS5taW51dGUsIHNlY29uZDogaXNJbnRlZ2VyKHRpbWUuc2Vjb25kKSA/IHRpbWUuc2Vjb25kIDogPGFueT5udWxsfSA6XHJcbiAgICAgICAgbnVsbDtcclxuICB9XHJcbn1cclxuIl19