@vicoders/angular
Version:
- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)
163 lines • 10.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, forwardRef, ElementRef, Renderer } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import * as _ from 'lodash';
var CustomSelectionComponent = /** @class */ (function () {
function CustomSelectionComponent(element, renderer) {
this.element = element;
this.renderer = renderer;
this.onChange = function (val) { };
this.onTouched = function () { };
this.disabled = false;
}
/**
* @return {?}
*/
CustomSelectionComponent.prototype.triggerChanged = /**
* @return {?}
*/
function () {
/** @type {?} */
var event = new CustomEvent('change', { bubbles: true });
this.renderer.invokeElementMethod(this.element.nativeElement, 'dispatchEvent', [event]);
};
/**
* @param {?} val
* @return {?}
*/
CustomSelectionComponent.prototype.writeValue = /**
* @param {?} val
* @return {?}
*/
function (val) {
if (val) {
this.value = val;
}
};
Object.defineProperty(CustomSelectionComponent.prototype, "value", {
get: /**
* @return {?}
*/
function () {
return this._value;
},
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
this.selected = _.find(this.options, function (item) { return item.value === val; });
this._value = val;
this.onChange(this._value);
},
enumerable: true,
configurable: true
});
/**
* @param {?} fn
* @return {?}
*/
CustomSelectionComponent.prototype.registerOnChange = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onChange = fn;
};
/**
* @param {?} fn
* @return {?}
*/
CustomSelectionComponent.prototype.registerOnTouched = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onTouched = fn;
};
/**
* @param {?} isDisabled
* @return {?}
*/
CustomSelectionComponent.prototype.setDisabledState = /**
* @param {?} isDisabled
* @return {?}
*/
function (isDisabled) {
this.disabled = isDisabled;
};
/**
* @param {?} opt
* @return {?}
*/
CustomSelectionComponent.prototype.change = /**
* @param {?} opt
* @return {?}
*/
function (opt) {
this.value = opt.value;
this.triggerChanged();
};
CustomSelectionComponent.decorators = [
{ type: Component, args: [{
// tslint:disable-next-line:component-selector
selector: 'custom-selection',
template: "<div class=\"dropdown custom-selection\">\n <button class=\"btn btn-default btn-sm dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n {{ selected === undefined ? '' : selected.label }}\n </button>\n <div class=\"dropdown-menu\">\n <a class=\"dropdown-item\" *ngFor=\"let option of options\" (click)=\"change(option)\">{{ option.label }}</a>\n </div>\n</div>\n",
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(function () { return CustomSelectionComponent; }),
multi: true
}
],
styles: [":host .custom-selection button{border:1px solid #ddd;border-radius:4px}:host .custom-selection button.btn:focus{box-shadow:none;outline:0}:host .custom-selection .dropdown-menu .dropdown-item{cursor:pointer}"]
}] }
];
CustomSelectionComponent.ctorParameters = function () { return [
{ type: ElementRef },
{ type: Renderer }
]; };
CustomSelectionComponent.propDecorators = {
_value: [{ type: Input }],
options: [{ type: Input }]
};
return CustomSelectionComponent;
}());
export { CustomSelectionComponent };
if (false) {
/** @type {?} */
CustomSelectionComponent.prototype._value;
/** @type {?} */
CustomSelectionComponent.prototype.options;
/** @type {?} */
CustomSelectionComponent.prototype.selected;
/**
* @type {?}
* @private
*/
CustomSelectionComponent.prototype.disabled;
/**
* @type {?}
* @private
*/
CustomSelectionComponent.prototype.onChange;
/**
* @type {?}
* @private
*/
CustomSelectionComponent.prototype.onTouched;
/**
* @type {?}
* @private
*/
CustomSelectionComponent.prototype.element;
/**
* @type {?}
* @private
*/
CustomSelectionComponent.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Admljb2RlcnMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2N1c3RvbS1zZWxlY3Rpb24vY3VzdG9tLXNlbGVjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QjtJQXNCRSxrQ0FBb0IsT0FBbUIsRUFBVSxRQUFrQjtRQUEvQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQUMsR0FBUSxJQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQU8sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Ozs7SUFFTSxpREFBYzs7O0lBQXJCOztZQUNNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsNkNBQVU7Ozs7SUFBVixVQUFXLEdBQVE7UUFDakIsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxzQkFBSSwyQ0FBSzs7OztRQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUM7Ozs7O1FBRUQsVUFBVSxHQUFHO1lBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBbEIsQ0FBa0IsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLENBQUM7OztPQU5BOzs7OztJQVFELG1EQUFnQjs7OztJQUFoQixVQUFpQixFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRUQsb0RBQWlCOzs7O0lBQWpCLFVBQWtCLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxtREFBZ0I7Ozs7SUFBaEIsVUFBaUIsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQzs7Ozs7SUFFRCx5Q0FBTTs7OztJQUFOLFVBQU8sR0FBRztRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Z0JBaEVGLFNBQVMsU0FBQzs7b0JBRVQsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsdWJBQWdEO29CQUVoRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsd0JBQXdCLEVBQXhCLENBQXdCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOztpQkFDRjs7O2dCQWhCOEMsVUFBVTtnQkFBRSxRQUFROzs7eUJBa0JoRSxLQUFLOzBCQUNMLEtBQUs7O0lBa0RSLCtCQUFDO0NBQUEsQUFqRUQsSUFpRUM7U0FwRFksd0JBQXdCOzs7SUFDbkMsMENBQWdCOztJQUNoQiwyQ0FBd0I7O0lBRXhCLDRDQUFnQjs7Ozs7SUFDaEIsNENBQTBCOzs7OztJQUMxQiw0Q0FBMkI7Ozs7O0lBQzNCLDZDQUE0Qjs7Ozs7SUFFaEIsMkNBQTJCOzs7OztJQUFFLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgZm9yd2FyZFJlZiwgRWxlbWVudFJlZiwgUmVuZGVyZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdjdXN0b20tc2VsZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tc2VsZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tU2VsZWN0aW9uQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgX3ZhbHVlO1xuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXTtcblxuICBwdWJsaWMgc2VsZWN0ZWQ7XG4gIHByaXZhdGUgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICBwcml2YXRlIG9uVG91Y2hlZDogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcikge1xuICAgIHRoaXMub25DaGFuZ2UgPSAodmFsOiBhbnkpID0+IHt9O1xuICAgIHRoaXMub25Ub3VjaGVkID0gKCkgPT4ge307XG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXJDaGFuZ2VkKCkge1xuICAgIGxldCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgIHRoaXMucmVuZGVyZXIuaW52b2tlRWxlbWVudE1ldGhvZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BhdGNoRXZlbnQnLCBbZXZlbnRdKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IF8uZmluZCh0aGlzLm9wdGlvbnMsIGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdmFsKTtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBjaGFuZ2Uob3B0KSB7XG4gICAgdGhpcy52YWx1ZSA9IG9wdC52YWx1ZTtcbiAgICB0aGlzLnRyaWdnZXJDaGFuZ2VkKCk7XG4gIH1cbn1cbiJdfQ==